1. 02 Mar, 2016 1 commit
  2. 29 Feb, 2016 1 commit
  3. 26 Feb, 2016 3 commits
    • antirez's avatar
      BITFIELD: Fix #<index> form parsing. · 11745e09
      antirez authored
      11745e09
    • antirez's avatar
      BITFIELD: Support #<index> offsets form. · 2800d090
      antirez authored
      2800d090
    • antirez's avatar
      BITFIELD command initial implementation. · 70af626d
      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
      70af626d
  4. 19 Feb, 2016 1 commit
  5. 18 Feb, 2016 6 commits
  6. 17 Feb, 2016 1 commit
    • antirez's avatar
      Cluster: resharding test provides more state when failing. · 15f37ebd
      antirez authored
      Now elements added to lists are incremental numbers in order to
      understand, when inconsistencies are found, what is the order in which
      the elements were added. Also the error now provides both the expected
      and found value.
      15f37ebd
  7. 15 Feb, 2016 1 commit
  8. 10 Feb, 2016 2 commits
  9. 07 Feb, 2016 1 commit
  10. 05 Feb, 2016 1 commit
  11. 03 Feb, 2016 1 commit
  12. 02 Feb, 2016 4 commits
  13. 01 Feb, 2016 3 commits
  14. 29 Jan, 2016 9 commits
  15. 28 Jan, 2016 1 commit
  16. 27 Jan, 2016 2 commits
    • antirez's avatar
      5bbb09ed
    • antirez's avatar
      Sentinel: improve handling of known Sentinel instances. · 751b5666
      antirez authored
      1. Bug #3035 is fixed (NULL pointer access). This was happening with the
         folling set of conditions:
      
      * For some reason one of the Sentinels, let's call it Sentinel_A, changed ID (reconfigured from scratch), but is as the same address at which it used to be.
      
      * Sentinel_A performs a failover and/or has a newer configuration compared to another Sentinel, that we call, Sentinel_B.
      
      * Sentinel_B receives an HELLO message from Sentinel_A, where the address and/or ID is mismatched, but it is reporting a newer configuration for the master they are both monitoring.
      
      2. Sentinels now must have an ID otherwise they are not loaded nor persisted in the configuration. This allows to have conflicting Sentinels with the same address since now the master->sentinels dictionary is indexed by Sentinel ID.
      
      3. The code now detects if a Sentinel is annoucing itself with an IP/port pair already busy (of another Sentinel). The old Sentinel that had the same port/pair is set as having port 0, that means, the address is invalid. We may discover the right address later via HELLO messages.
      751b5666
  17. 26 Jan, 2016 2 commits