1. 04 5月, 2016 4 次提交
  2. 03 5月, 2016 2 次提交
    • A
      Cluster regression test for #3043. · 9c48f28e
      antirez 提交于
      The test works but is very slow so far, since it involves resharding
      1/5 of all the cluster slots from master 0 to the other 4 masters and
      back into the original master.
      9c48f28e
    • A
      New masters with slots are now targets of migration if others are. · 4fdde78c
      antirez 提交于
      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.
      4fdde78c
  3. 25 4月, 2016 6 次提交
  4. 18 4月, 2016 2 次提交
  5. 15 4月, 2016 2 次提交
  6. 14 4月, 2016 2 次提交
  7. 13 4月, 2016 4 次提交
  8. 06 4月, 2016 1 次提交
    • A
      Linenoise updated. · 8a98b8d0
      antirez 提交于
      As a side effect, cat commands.txt | redis-cli now is able to handle
      lines more than 4096 bytes.
      8a98b8d0
  9. 04 4月, 2016 3 次提交
    • A
      ae.c: Fix delay until next timer event. · b9feef9a
      antirez 提交于
      This fix was written by Anthony LaTorre.
      The old code mis-calculated the amount of time to wait till next event.
      b9feef9a
    • A
      ace780c0
    • A
      Fix ae.c to avoid timers infinite loop. · 67b70a18
      antirez 提交于
      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.
      67b70a18
  10. 03 3月, 2016 1 次提交
  11. 02 3月, 2016 8 次提交
  12. 29 2月, 2016 1 次提交
  13. 26 2月, 2016 3 次提交
    • A
      BITFIELD: Fix #<index> form parsing. · 11745e09
      antirez 提交于
      11745e09
    • A
      BITFIELD: Support #<index> offsets form. · 2800d090
      antirez 提交于
      2800d090
    • A
      BITFIELD command initial implementation. · 70af626d
      antirez 提交于
      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
      70af626d
  14. 19 2月, 2016 1 次提交