1. 06 Mar, 2014 4 commits
  2. 05 Mar, 2014 1 commit
  3. 04 Mar, 2014 6 commits
  4. 03 Mar, 2014 3 commits
  5. 28 Feb, 2014 2 commits
    • Matt Stancliff's avatar
      Force INFO used_memory_peak to match peak memory · f1c9a203
      Matt Stancliff authored
      used_memory_peak only updates in serverCron every server.hz,
      but Redis can use more memory and a user can request memory
      INFO before used_memory_peak gets updated in the next
      cron run.
      
      This patch updates used_memory_peak to the current
      memory usage if the current memory usage is higher
      than the recorded used_memory_peak value.
      
      (And it only calls zmalloc_used_memory() once instead of
      twice as it was doing before.)
      f1c9a203
    • antirez's avatar
      Sentinel test: Makefile target added. · a89c8bb8
      antirez authored
      a89c8bb8
  6. 27 Feb, 2014 5 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
      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
      Fix misaligned word access in redisPopcount(). · 746ce35f
      antirez authored
      746ce35f
  7. 25 Feb, 2014 7 commits
  8. 24 Feb, 2014 4 commits
  9. 22 Feb, 2014 1 commit
    • 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
  10. 21 Feb, 2014 1 commit
    • Matt Stancliff's avatar
      Add cluster or sentinel to proc title · 2c273e35
      Matt Stancliff authored
      If you launch redis with `redis-server --sentinel` then
      in a ps, your output only says "redis-server IP:Port" — this
      patch changes the proc title to include [sentinel] or
      [cluster] depending on the current server mode:
      e.g.  "redis-server IP:Port [sentinel]"
            "redis-server IP:Port [cluster]"
      2c273e35
  11. 20 Feb, 2014 1 commit
  12. 18 Feb, 2014 2 commits
    • antirez's avatar
      Sentinel: SENTINEL_SLAVE_RECONF_RETRY_PERIOD -> RECONF_TIMEOUT · 7cec9e48
      antirez authored
      Rename define to match the new meaning.
      7cec9e48
    • antirez's avatar
      Sentinel: fix slave promotion timeout. · 18b8bad5
      antirez authored
      If we can't reconfigure a slave in time during failover, go forward as
      anyway the slave will be fixed by Sentinels in the future, once they
      detect it is misconfigured.
      
      Otherwise a failover in progress may never terminate if for some reason
      the slave is uncapable to sync with the master while at the same time
      it is not disconnected.
      18b8bad5
  13. 17 Feb, 2014 2 commits
    • antirez's avatar
      Get absoulte config file path before processig 'dir'. · ede33fb9
      antirez authored
      The code tried to obtain the configuration file absolute path after
      processing the configuration file. However if config file was a relative
      path and a "dir" statement was processed reading the config, the absolute
      path obtained was wrong.
      
      With this fix the absolute path is obtained before processing the
      configuration while the server is still in the original directory where
      it was executed.
      ede33fb9
    • antirez's avatar
      Sentinel: better specify startup errors due to config file. · e1b77b61
      antirez authored
      Now it logs the file name if it is not accessible. Also there is a
      different error for the missing config file case, and for the non
      writable file case.
      e1b77b61
  14. 13 Feb, 2014 1 commit
    • antirez's avatar
      Update cached time in rdbLoad() callback. · 51bd9da1
      antirez authored
      server.unixtime and server.mstime are cached less precise timestamps
      that we use every time we don't need an accurate time representation and
      a syscall would be too slow for the number of calls we require.
      
      Such an example is the initialization and update process of the last
      interaction time with the client, that is used for timeouts.
      
      However rdbLoad() can take some time to load the DB, but at the same
      time it did not updated the time during DB loading. This resulted in the
      bug described in issue #1535, where in the replication process the slave
      loads the DB, creates the redisClient representation of its master, but
      the timestamp is so old that the master, under certain conditions, is
      sensed as already "timed out".
      
      Thanks to @yoav-steinberg and Redis Labs Inc for the bug report and
      analysis.
      51bd9da1