1. 16 Apr, 2014 2 commits
    • antirez's avatar
      Cluster: configEpoch collisions resolution. · 431573ae
      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.
      431573ae
    • antirez's avatar
      Cluster: stay within 80 cols. · 8a3dde20
      antirez authored
      8a3dde20
  2. 21 Mar, 2014 1 commit
  3. 11 Mar, 2014 17 commits
  4. 05 Mar, 2014 1 commit
    • antirez's avatar
      Fix configEpoch assignment when a cluster slot gets "closed". · e4833ed8
      antirez authored
      This is still code to rework in order to use agreement to obtain a new
      configEpoch when a slot is migrated, however this commit handles the
      special case that happens when the nodes are just started and everybody
      has a configEpoch of 0. In this special condition to have the maximum
      configEpoch is not enough as the special epoch 0 is not unique (all the
      others are).
      
      This does not fixes the intrinsic race condition of a failover happening
      while we are resharding, that will be addressed later.
      e4833ed8
  5. 11 Feb, 2014 5 commits
  6. 10 Feb, 2014 13 commits
  7. 07 Feb, 2014 1 commit
    • antirez's avatar
      Cluster: keys slot computation now supports hash tags. · 142281dc
      antirez authored
      Currently this is marginally useful, only to make sure two keys are in
      the same hash slot when the cluster is stable (no rehashing in
      progress).
      
      In the future it is possible that support will be added to run
      mutli-keys operations with keys in the same hash slot.
      142281dc