1. 27 Feb, 2014 10 commits
    • michael-grunder's avatar
      Improved bigkeys with progress, pipelining and summary · 806788d0
      michael-grunder authored
      This commit reworks the redis-cli --bigkeys command to provide more
      information about our progress as well as output summary information
      when we're done.
      
       - We now show an approximate percentage completion as we go
       - Hiredis pipelining is used for TYPE and SIZE retreival
       - A summary of keyspace distribution and overall breakout at the end
      806788d0
    • antirez's avatar
      BITPOS fuzzy testing. · 8b8c1cd4
      antirez authored
      8b8c1cd4
    • antirez's avatar
      Basic BITPOS tests. · b21f4d63
      antirez authored
      b21f4d63
    • antirez's avatar
      warnigns -> warnings in redisBitpos(). · 76a6e82d
      antirez authored
      76a6e82d
    • antirez's avatar
      More consistent BITPOS behavior with bit=0 and ranges. · 0e31eaa2
      antirez authored
      With the new behavior it is possible to specify just the start in the
      range (the end will be assumed to be the first byte), or it is possible
      to specify both start and end.
      
      This is useful to change the behavior of the command when looking for
      zeros inside a string.
      
      1) If the user specifies both start and end, and no 0 is found inside
         the range, the command returns -1.
      
      2) If instead no range is specified, or just the start is given, even
         if in the actual string no 0 bit is found, the command returns the
         first bit on the right after the end of the string.
      
      So for example if the string stored at key foo is "\xff\xff":
      
          BITPOS foo (returns 16)
          BITPOS foo 0 -1 (returns -1)
          BITPOS foo 0 (returns 16)
      
      The idea is that when no end is given the user is just looking for the
      first bit that is zero and can be set to 1 with SETBIT, as it is
      "available". Instead when a specific range is given, we just look for a
      zero within the boundaries of the range.
      0e31eaa2
    • antirez's avatar
      Initial implementation of BITPOS. · 38c620b3
      antirez authored
      It appears to work but more stress testing, and both unit tests and
      fuzzy testing, is needed in order to ensure the implementation is sane.
      38c620b3
    • antirez's avatar
    • antirez's avatar
      8d95a474
    • antirez's avatar
      BITCOUNT fuzzy test with random start/end added. · 2a7847a3
      antirez authored
      It was verified in practice that this test is able to stress much more
      the implementation by introducing errors that were only trivially to
      detect with different offsets but impossible to detect starting always
      at zero and counting bits the full length of the string.
      2a7847a3
    • antirez's avatar
      Fix misaligned word access in redisPopcount(). · 746ce35f
      antirez authored
      746ce35f
  2. 25 Feb, 2014 17 commits
  3. 24 Feb, 2014 7 commits
  4. 23 Feb, 2014 4 commits
  5. 22 Feb, 2014 2 commits
    • antirez's avatar
      Sentinel: IDONTKNOW error removed. · b1c13863
      antirez authored
      This error was conceived for the older version of Sentinel that worked
      via master redirection and that was not able to get configuration
      updates from other Sentinels via the Pub/Sub channel of masters or
      slaves.
      
      This reply does not make sense today, every Sentinel should reply with
      the best information it has currently. The error will make even more
      sense in the future since the plan is to allow Sentinels to update the
      configuration of other Sentinels via gossip with a direct chat without
      the prerequisite that they have at least a monitored instance in common.
      b1c13863
    • antirez's avatar
      Sentinel test: framework improved and conf-update unit added. · 8c254415
      antirez authored
      It is now possible to kill and restart sentinel or redis instances for
      more real-world testing.
      
      The 01 unit tests the capability of Sentinel to update the configuration
      of Sentinels rejoining the cluster, however the test is pretty trivial
      and more tests should be added.
      8c254415