• antirez's avatar
    Cluster: configEpoch collisions resolution. · 6c527a89
    antirez authored
    The slave election in Redis Cluster guarantees that slaves promoted to
    masters always end with unique config epochs, however failures during
    manual reshardings, software bugs and operational errors may in theory
    cause two nodes to have the same configEpoch.
    
    This commit introduces a mechanism to eventually always end with different
    configEpochs if a collision ever happens.
    
    As a (wanted) side effect, this also ensures that after a new cluster
    is created, all nodes will end with a different configEpoch automatically.
    6c527a89
cluster.c 159 KB