1. 28 Jul, 2014 12 commits
  2. 23 Jul, 2014 13 commits
    • antirez's avatar
      Fix util.c compilation by including stdint.h. · 5a4a8670
      antirez authored
      5a4a8670
    • antirez's avatar
      Faster ll2string() implementation. · d6f309d4
      antirez authored
      Based on ideas documented in this blog post:
      
      https://www.facebook.com/notes/facebook-engineering/three-optimization-tips-for-c/10151361643253920
      
      The original code was modified to handle signed integers, reformetted to
      fit inside the Redis code base, and was stress-tested with a program
      in order to validate the implementation against snprintf().
      
      Redis was measured to be measurably faster from the point of view of
      clients in real-world operations because of this change, since sometimes
      number to string conversion is used extensively (for example every time
      a GET results into an integer encoded object to be returned to the
      user).
      d6f309d4
    • antirez's avatar
      PFSELFTEST: less false positives. · dd50295d
      antirez authored
      This is just a quickfix, for the nature of the test the right way to fix
      it is to average the error of N runs, since otherwise it is always
      possible to get a false positive with a bad run, or to minimize too much
      this possibility we may end testing with too much "large" error ranges.
      dd50295d
    • antirez's avatar
      Test: check sorted set elements order after union. · 42f4a83e
      antirez authored
      This is not a regression but issue #1786 showed the need for this test.
      42f4a83e
    • antirez's avatar
      b46271cc
    • antirez's avatar
      ZUNIONSTORE reimplemented for speed. · 5e88bd05
      antirez authored
      The user @kjmph provided excellent ideas to improve speed of ZUNIONSTORE
      (in certain cases by many order of magnitude), together with an
      implementation of the ideas.
      
      While the ideas were sounding, the implementation could be improved both
      in terms of speed and clearness, so that's my attempt at reimplementing
      the speedup proposed, trying to improve by directly using just a
      dictionary with an embedded score inside, and reusing the single-pass
      aggregate + order-later approach.
      
      Note that you can't apply this commit without applying the previous
      commit in this branch that adds a double in the dictEntry value union.
      
      Issue #1786.
      5e88bd05
    • antirez's avatar
      Add double field in dict.c entry value union. · 36498152
      antirez authored
      36498152
    • antirez's avatar
      CLUSTER RESET: Flush dataset if node is a slave. · 955b2562
      antirez authored
      For non-empty masters, CLUSTER RESET is denied, and the user requires to
      start to reset a node by explicitly clearing it with FLUSHALL.
      However CLUSTER RESET when executed with slaves don't have this
      restrictions since data is just a replica of the master, and with
      read-only slaves it is also not possible to remove the data set. However
      the node was turned from slave to master after a reset, without touching
      the old slave data. This is 99.99% of times not appropriate and forces
      full resets to follow this path to work with both slave and master
      nodes:
      
          FLUSHALL
          CLUSTER RESET HARD
          FLUSHALL
      
      Since we need the first flushall for masters, and the second for slaves.
      
      This commit changes the behavior so that CLUSTER RESET removes the data set
      of a slave node during a reset, in the moment it gets turned into a master,
      so the new pattern is simply:
      
          FLUSHALL (that may fail for slaves)
          CLUSTER RESET
      955b2562
    • antirez's avatar
      e8199b67
    • antirez's avatar
      b4937427
    • antirez's avatar
      Cluster: fix redis-trib --from all. · 16a66581
      antirez authored
      16a66581
    • antirez's avatar
      redis-trib: allow to reshard in non-interactive way. · ec054b36
      antirez authored
      The introduction of --from --to --slots --yes options allow to reshard
      from cli in an automated way from scripts. The code is ugly and needs
      refactoring as soon as we get it in RC / stable release.
      ec054b36
    • antirez's avatar
      Cluster test: test that writes are retained during failovers. · e6ac6a17
      antirez authored
      In the test we use WAIT when the master and slave are up, and only later the
      partition is created killing the master, so we are sure we don't incur
      in failure modes that may lose writes in this test: the goal here is to
      make sure that the elected slave was replicating correctly with the
      master.
      e6ac6a17
  3. 18 Jul, 2014 15 commits