<HTML><BODY><div class="js-helper js-readmsg-msg">
        <style type="text/css"></style>
        <div>
                <base target="_self" href="https://e.mail.ru/">
                
            <div id="style_15403194990000000791_BODY"><br>
<br>
23/10/2018 10:10, Konstantin Osipov пишет:<br>
> * Olga Arkhangelskaia <<a href="mailto:arkholga@tarantool.org">arkholga@tarantool.org</a>> [18/10/13 08:20]:<br>
>> In scope of gh-3110 we need options that store periods of time,<br>
>> to be compared with time of last activity of relay and applier.<br>
>> This patch introduces replication_dead_gap and replication_rw_gap options.<br>
>><br>
>> replication_dead_gap is configured in box.cfg, with default 0 value.<br>
>> If time that passed from now till last reader/writer activity of given replica<br>
>> exceeds replication_dead_gap value, replica is suspected to be dead.<br>
>> replication_dead_gap is measured in hours.<br>
>><br>
>> replication_rw_gap is configured in box.cfg, with default 0 value.<br>
>> If time difference between last reader activity and last writer activity of<br>
>> given replica exceeds replication_rw_gap value, replica is suspected to be dead.<br>
>> replication_rw_gap is measured in hours.<br>
> Why do we need this if we have heartbeats?<br>
I used to think that we need some parameters, that can be set by user, <br>
to check that replica is not active.<br>
For example, if replica is not active for XXXX seconds - it is dead. <br>
However, I did not think about the idea of passing this parameter as a <br>
function argument: list_dead_replicas(XXXX). So I will throw it away.<br>
<br>
Another question that is worth to discuss - is kind of statistics to use <br>
for accusing replica to be dead.<br>
The is two ways - save time of last write/read by applier and relay. I <br>
implemented it, but as Vova pointed out, may be we need to save period <br>
of time that replica spends in stopped status. So we decided to do <br>
statistics in separate patch set, and implement both way. And than <br>
decide. However, may be you have better ideas, etc.<br>
><br>
> And with swim on board we will have gossip information about entire replica set?<br>
I have read about swim, and as I understand it :<br>
if we have replica set with some topology except full-mesh, we can save <br>
dead replicas mask, numbers, etc, (that we obtained using <br>
list_dead_replicas on some of replicas), and in the end, after some <br>
questioning,  we will definitely  have information about every replica <br>
in the set.<br>
If that what you mean.<br>
If not, can you be more specific.<br>
><br>
>> --<br>
<br>
</div>
            
        
                <base target="_self" href="https://e.mail.ru/">
        </div>

        
</div></BODY></HTML>