• antirez's avatar
    Use replicationFeedSlaves() to send PING to slaves. · 4b83ad4e
    antirez authored
    A Redis master sends PING commands to slaves from time to time: doing
    this ensures that even if absence of writes, the master->slave channel
    remains active and the slave can feel the master presence, instead of
    closing the connection for timeout.
    
    This commit changes the way PINGs are sent to slaves in order to use the
    standard interface used to replicate all the other commands, that is,
    the function replicationFeedSlaves().
    
    With this change the stream of commands sent to every slave is exactly
    the same regardless of their exact state (Transferring RDB for first
    synchronization or slave already online). With the previous
    implementation the PING was only sent to online slaves, with the result
    that the output stream from master to slaves was not identical for all
    the slaves: this is a problem if we want to implement partial resyncs in
    the future using a global replication stream offset.
    
    TL;DR: this commit should not change the behaviour in practical terms,
    but is just something in preparation for partial resynchronization
    support.
    4b83ad4e
redis.h 57.9 KB