1. 05 May, 2016 12 commits
  2. 04 May, 2016 11 commits
  3. 02 May, 2016 14 commits
    • antirez's avatar
      New masters with slots are now targets of migration if others are. · 7b618823
      antirez authored
      This fixes issue #3043.
      
      Before this fix, after a complete resharding of a master slots
      to other nodes, the master remains empty and the slaves migrate away
      to other masters with non-zero nodes. However the old master now empty,
      is no longer considered a target for migration, because the system has
      no way to tell it had slaves in the past.
      
      This fix leaves the algorithm used in the past untouched, but adds a
      new rule. When a new or old master which is empty and without slaves,
      are assigend with their first slot, if other masters in the cluster have
      slaves, they are automatically considered to be targets for replicas
      migration.
      7b618823
    • antirez's avatar
      redis-cli preferences and rc file support. · bbf93108
      antirez authored
      bbf93108
    • antirez's avatar
      redis-cli hints. · 3fd3fca0
      antirez authored
      3fd3fca0
    • antirez's avatar
      ae.c: Fix delay until next timer event. · 29645f1f
      antirez authored
      This fix was written by Anthony LaTorre.
      The old code mis-calculated the amount of time to wait till next event.
      29645f1f
    • antirez's avatar
      aa79c1f1
    • antirez's avatar
      Fix ae.c to avoid timers infinite loop. · 0b69c986
      antirez authored
      This fix was suggested by Anthony LaTorre, that provided also a good
      test case that was used to verify the fix.
      
      The problem with the old implementation is that, the time returned by
      a timer event (that is the time after it want to run again) is added
      to the event *start time*. So if the event takes, in order to run, more
      than the time it says it want to be scheduled again for running, an
      infinite loop is triggered.
      0b69c986
    • antirez's avatar
    • antirez's avatar
      More BITFIELD fixes. Overflow conditional simplified. · 5f3ef73e
      antirez authored
      See issue #3114.
      5f3ef73e
    • Sun He's avatar
      5b9aa502
    • antirez's avatar
      Fix INFO commandstats reporting when argv is rewritten. · ba9154d7
      antirez authored
      We want to report the original command in the stats, for example GEOADD,
      even when what is actually executed is the ZADD implementation.
      ba9154d7
    • antirez's avatar
      BITFIELD: refactoring & fix of retval on FAIL. · 76b22e37
      antirez authored
      76b22e37
    • antirez's avatar
      BITFIELD: Fix #<index> form parsing. · c333a9e2
      antirez authored
      c333a9e2
    • antirez's avatar
      BITFIELD: Support #<index> offsets form. · f84871cb
      antirez authored
      f84871cb
    • antirez's avatar
      BITFIELD command initial implementation. · 761a7728
      antirez authored
      The new bitfield command is an extension to the Redis bit operations,
      where not just single bit operations are performed, but the array of
      bits composing a string, can be addressed at random, not aligned
      offsets, with any width unsigned and signed integers like u8, s5, u10
      (up to 64 bit signed integers and 63 bit unsigned integers).
      
      The BITFIELD command supports subcommands that can SET, GET, or INCRBY
      those arbitrary bit counters, with multiple overflow semantics.
      
      Trivial and credits:
      
      A similar command was imagined a few times in the past, but for
      some reason looked a bit far fetched or not well specified.
      Finally the command was proposed again in a clear form by
      Yoav Steinberg from Redis Labs, that proposed a set of commands on
      arbitrary sized integers stored at bit offsets.
      
      Starting from this proposal I wrote an initial specification of a single
      command with sub-commands similar to what Yoav envisioned, using short
      names for types definitions, and adding control on the overflow.
      
      This commit is the resulting implementation.
      
      Examples:
      
          BITFIELD mykey OVERFLOW wrap INCRBY i2 10 -1 GET i2 10
      761a7728
  4. 19 Feb, 2016 3 commits