1. 11 Mar, 2014 35 commits
  2. 05 Mar, 2014 5 commits
    • antirez's avatar
      4d5ba596
    • antirez's avatar
      Sentinel test: set less time sensitive defaults. · ef4e4653
      antirez authored
      This commit sets the failover timeout to 30 seconds instead of the 180
      seconds default, and allows to reconfigure multiple slaves at the same
      time.
      
      This makes tests less sensible to timing, with the result that there are
      less false positives due to normal behaviors that require time to
      succeed or to be retried.
      
      However the long term solution is probably some way in order to detect
      when a test failed because of timing issues (for example split brain
      during leader election) and retry it.
      ef4e4653
    • antirez's avatar
      Sentinel: more aggressive failover start desynchronization. · 313f8831
      antirez authored
      Sentinel needs to avoid split brain conditions due to multiple sentinels
      trying to get voted at the exact same time.
      
      So far some desynchronization was provided by fluctuating server.hz,
      that is the frequency of the timer function call. However the
      desynchonization provided in this way was not enough when using many
      Sentinel instances, especially when a large quorum value is used in
      order to force a greater degree of agreement (more than N/2+1).
      
      It was verified that it was likely to trigger a split brain
      condition, forcing the system to try again after a timeout.
      Usually the system will succeed after a few retries, but this is not
      optimal.
      
      This commit desynchronizes instances in a more effective way to make it
      likely that the first attempt will be successful.
      313f8831
    • antirez's avatar
      5ee23944
    • antirez's avatar
      Sentinel test: debugging console improved. · fa8aca52
      antirez authored
      fa8aca52