1. 09 11月, 2013 1 次提交
    • A
      Cluster: slots update refactored + UPDATE msg processing. · 94a07d59
      antirez 提交于
      Now there is a function that handles the update of the local slot
      configuration every time we have some new info about a node and its set
      of served slots and configEpoch.
      
      Moreoever the UPDATE packets are now processed when received (it was a
      work in progress in the previous commit).
      94a07d59
  2. 08 11月, 2013 2 次提交
  3. 05 11月, 2013 1 次提交
  4. 11 10月, 2013 1 次提交
  5. 09 10月, 2013 4 次提交
  6. 08 10月, 2013 1 次提交
    • A
      Cluster: masters don't vote for a slave with stale config. · ae2763f5
      antirez 提交于
      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 10月, 2013 3 次提交
  8. 03 10月, 2013 1 次提交
    • A
      Cluster: new clusterDoBeforeSleep() API. · 7afc0dd5
      antirez 提交于
      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 10月, 2013 3 次提交
  10. 01 10月, 2013 2 次提交
  11. 30 9月, 2013 6 次提交
  12. 27 9月, 2013 1 次提交
  13. 26 9月, 2013 4 次提交
  14. 25 9月, 2013 4 次提交
  15. 20 9月, 2013 2 次提交
    • A
      Cluster: PFAIL -> FAIL transition allowed for slaves. · 3c9bb875
      antirez 提交于
      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
    • A
      Cluster: added time field in cluster bus messages. · 925ea9f8
      antirez 提交于
      The time is sent in requests, and copied back in reply packets.
      This way the receiver can compare the time field in a reply with its
      local clock and check the age of the request associated with this reply.
      
      This is an easy way to discard delayed replies. Note that only a clock
      is used here, that is the one of the node sending the packet. The
      receiver only copies the field back into the reply, so no
      synchronization is needed between clocks of different hosts.
      925ea9f8
  16. 04 9月, 2013 4 次提交