1. 29 Nov, 2013 2 commits
  2. 08 Nov, 2013 6 commits
  3. 05 Nov, 2013 1 commit
  4. 11 Oct, 2013 1 commit
  5. 09 Oct, 2013 4 commits
  6. 08 Oct, 2013 1 commit
    • antirez's avatar
      Cluster: masters don't vote for a slave with stale config. · ae2763f5
      antirez authored
      When a slave requests our vote, the configEpoch he claims for its master
      and the set of served slots must be greater or equal to the configEpoch
      of the nodes serving these slots in the current configuraiton of the
      master granting its vote.
      
      In other terms, masters don't vote for slaves having a stale
      configuration for the slots they want to serve.
      ae2763f5
  7. 07 Oct, 2013 3 commits
  8. 03 Oct, 2013 1 commit
    • antirez's avatar
      Cluster: new clusterDoBeforeSleep() API. · 7afc0dd5
      antirez authored
      The new API is able to remember operations to perform before returning
      to the event loop, such as checking if there is the failover quorum for
      a slave, save and fsync the configuraiton file, and so forth.
      
      Because this operations are performed before returning on the event
      loop we are sure that messages that are sent in the same event loop run
      will be delivered *after* the configuration is already saved, that is a
      requirement sometimes. For instance we want to publish a new epoch only
      when it is already stored in nodes.conf in order to avoid returning back
      in the logical clock when a node is restarted.
      
      This new API provides a big performance advantage compared to saving and
      possibly fsyncing the configuration file multiple times in the same
      event loop run, especially in the case of big clusters with tens or
      hundreds of nodes.
      7afc0dd5
  9. 02 Oct, 2013 3 commits
  10. 01 Oct, 2013 2 commits
  11. 30 Sep, 2013 6 commits
  12. 27 Sep, 2013 1 commit
  13. 26 Sep, 2013 4 commits
  14. 25 Sep, 2013 4 commits
  15. 20 Sep, 2013 1 commit
    • antirez's avatar
      Cluster: PFAIL -> FAIL transition allowed for slaves. · 3c9bb875
      antirez authored
      First change: now there is no need to be a master in order to detect a
      failure, however the majority of masters signaling PFAIL or FAIL is needed.
      
      This change is important because it allows slaves rejoining the cluster
      after a partition to sense the FAIL condition so that eventually all the
      nodes agree on failures.
      3c9bb875