1. 24 Mar, 2015 1 commit
    • antirez's avatar
      Cluster: redirection refactoring + handling of blocked clients. · 3468cd36
      antirez authored
      There was a bug in Redis Cluster caused by clients blocked in a blocking
      list pop operation, for keys no longer handled by the instance, or
      in a condition where the cluster became down after the client blocked.
      
      A typical situation is:
      
      1) BLPOP <somekey> 0
      2) <somekey> hash slot is resharded to another master.
      
      The client will block forever int this case.
      
      A symmentrical non-cluster-specific bug happens when an instance is
      turned from master to slave. In that case it is more serious since this
      will desynchronize data between slaves and masters. This other bug was
      discovered as a side effect of thinking about the bug explained and
      fixed in this commit, but will be fixed in a separated commit.
      3468cd36
  2. 20 Mar, 2015 1 commit
    • antirez's avatar
      Cluster: better cluster state transiction handling. · 62893f5b
      antirez authored
      Before we relied on the global cluster state to make sure all the hash
      slots are linked to some node, when getNodeByQuery() is called. So
      finding the hash slot unbound was checked with an assertion. However
      this is fragile. The cluster state is often updated in the
      clusterBeforeSleep() function, and not ASAP on state change, so it may
      happen to process clients with a cluster state that is 'ok' but yet
      certain hash slots set to NULL.
      
      With this commit the condition is also checked in getNodeByQuery() and
      reported with a identical error code of -CLUSTERDOWN but slightly
      different error message so that we have more debugging clue in the
      future.
      
      Root cause of issue #2288.
      62893f5b
  3. 13 Jan, 2015 1 commit
    • antirez's avatar
      Cluster: clusterMsgDataGossip structure, explict padding + minor stuff. · 45e2a26d
      antirez authored
      Also explicitly set version to 0, add a protocol version define, improve
      comments in the gossip structure.
      
      Note that the structure layout is the same after the change, we are just
      making the padding explicit with an additional not used 16 bits field.
      So this commit is still able to talk with the previous versions of
      cluster nodes.
      45e2a26d
  4. 09 Dec, 2014 1 commit
    • antirez's avatar
      Cluster PUBLISH message: fix totlen count. · 73996c86
      antirez authored
      bulk_data field size was not removed from the count. It is not possible
      to declare it simply as 'char bulk_data[]' since the structure is nested
      into another structure.
      73996c86
  5. 08 Oct, 2014 1 commit
  6. 06 Oct, 2014 1 commit
    • Matt Stancliff's avatar
      Clean up text throughout project · bd62c952
      Matt Stancliff authored
        - Remove trailing newlines from redis.conf
        - Fix comment misspelling
        - Clarifies zipEncodeLength usage and a C API mention (#1243, #1242)
        - Fix cluster typos (inspired by @papanikge #1507)
        - Fix rewite -> rewrite in a few places (inspired by #682)
      
      Closes #1243, #1242, #1507
      bd62c952
  7. 19 Sep, 2014 1 commit
  8. 26 Aug, 2014 1 commit
  9. 23 May, 2014 1 commit
  10. 16 Apr, 2014 1 commit
  11. 11 Mar, 2014 3 commits
  12. 27 Feb, 2014 1 commit
  13. 10 Feb, 2014 3 commits
  14. 05 Feb, 2014 2 commits
  15. 31 Jan, 2014 1 commit
  16. 29 Jan, 2014 2 commits
  17. 28 Jan, 2014 3 commits
  18. 29 Nov, 2013 2 commits
  19. 08 Nov, 2013 1 commit
  20. 09 Oct, 2013 2 commits