1. 08 11月, 2013 1 次提交
  2. 27 8月, 2013 1 次提交
  3. 20 8月, 2013 1 次提交
  4. 16 7月, 2013 1 次提交
  5. 08 7月, 2013 1 次提交
  6. 02 4月, 2013 1 次提交
    • A
      Throttle BGSAVE attempt on saving error. · d6b0c18c
      antirez 提交于
      When a BGSAVE fails, Redis used to flood itself trying to BGSAVE at
      every next cron call, that is either 10 or 100 times per second
      depending on configuration and server version.
      
      This commit does not allow a new automatic BGSAVE attempt to be
      performed before a few seconds delay (currently 5).
      
      This avoids both the auto-flood problem and filling the disk with
      logs at a serious rate.
      
      The five seconds limit, considering a log entry of 200 bytes, will use
      less than 4 MB of disk space per day that is reasonable, the sysadmin
      should notice before of catastrofic events especially since by default
      Redis will stop serving write queries after the first failed BGSAVE.
      
      This fixes issue #849
      d6b0c18c
  7. 13 3月, 2013 2 次提交
  8. 27 2月, 2013 1 次提交
  9. 26 2月, 2013 1 次提交
    • A
      Set process name in ps output to make operations safer. · ac3100bc
      antirez 提交于
      This commit allows Redis to set a process name that includes the binding
      address and the port number in order to make operations simpler.
      
      Redis children processes doing AOF rewrites or RDB saving change the
      name into redis-aof-rewrite and redis-rdb-bgsave respectively.
      
      This in general makes harder to kill the wrong process because of an
      error and makes simpler to identify saving children.
      
      This feature was suggested by Arnaud GRANAL in the Redis Google Group,
      Arnaud also pointed me to the setproctitle.c implementation includeed in
      this commit.
      
      This feature should work on all the Linux, OSX, and all the three major
      BSD systems.
      ac3100bc
  10. 19 1月, 2013 2 次提交
    • A
      Whitelist SIGUSR1 to avoid auto-triggering errors. · 39f0a33f
      antirez 提交于
      This commit fixes issue #875 that was caused by the following events:
      
      1) There is an active child doing BGSAVE.
      2) flushall is called (or any other condition that makes Redis killing
      the saving child process).
      3) An error is sensed by Redis as the child exited with an error (killed
      by a singal), that stops accepting write commands until a BGSAVE happens
      to be executed with success.
      
      Whitelisting SIGUSR1 and making sure Redis always uses this signal in
      order to kill its own children fixes the issue.
      39f0a33f
    • G
      Fixed many typos. · 1caf0939
      guiquanz 提交于
      Conflicts fixed, mainly because 2.8 has no cluster support / files:
      	00-RELEASENOTES
      	src/cluster.c
      	src/crc16.c
      	src/redis-trib.rb
      	src/redis.h
      1caf0939
  11. 19 11月, 2012 1 次提交
    • A
      Children creating AOF or RDB files now report memory used by COW. · c342b075
      antirez 提交于
      Finally Redis is able to report the amount of memory used by
      copy-on-write while saving an RDB or writing an AOF file in background.
      
      Note that this information is currently only logged (at NOTICE level)
      and not shown in INFO because this is less trivial (but surely doable
      with some minor form of interprocess communication).
      
      The reason we can't capture this information on the parent before we
      call wait3() is that the Linux kernel will release the child memory
      ASAP, and only retain the minimal state for the process that is useful
      to report the child termination to the parent.
      
      The COW size is obtained by summing all the Private_Dirty fields found
      in the "smap" file inside the proc filesystem for the process.
      
      All this is Linux specific and is not available on other systems.
      c342b075
  12. 09 11月, 2012 1 次提交
  13. 31 10月, 2012 1 次提交
  14. 27 9月, 2012 1 次提交
  15. 02 6月, 2012 1 次提交
    • A
      RDB type loading functions clarified in comments. · ebdcd723
      antirez 提交于
      Improved comments to make clear that rdbLoadType() just loads a
      general TYPE in the context of RDB that can be an object type or an
      expire type, end-of-file, and so forth.
      
      While rdbLoadObjectType() enforces that the type is a valid Object Type
      otherwise it returns -1.
      ebdcd723
  16. 25 5月, 2012 1 次提交
    • A
      Four new persistence fields in INFO. A few renamed. · 6b4d92e2
      antirez 提交于
      The 'persistence' section of INFO output now contains additional four
      fields related to RDB and AOF persistence:
      
       rdb_last_bgsave_time_sec       Duration of latest BGSAVE in sec.
       rdb_current_bgsave_time_sec    Duration of current BGSAVE in sec.
       aof_last_rewrite_time_sec      Duration of latest AOF rewrite in sec.
       aof_current_rewrite_time_sec   Duration of current AOF rewrite in sec.
      
      The 'current' fields are set to -1 if a BGSAVE / AOF rewrite is not in
      progress. The 'last' fileds are set to -1 if no previous BGSAVE / AOF
      rewrites were performed.
      
      Additionally a few fields in the persistence section were renamed for
      consistency:
      
       changes_since_last_save -> rdb_changes_since_last_save
       bgsave_in_progress -> rdb_bgsave_in_progress
       last_save_time -> rdb_last_save_time
       last_bgsave_status -> rdb_last_bgsave_status
       bgrewriteaof_in_progress -> aof_rewrite_in_progress
       bgrewriteaof_scheduled -> aof_rewrite_scheduled
      
      After the renaming, fields in the persistence section start with rdb_ or
      aof_ prefix depending on the persistence method they describe.
      The field 'loading' and related fields are not prefixed because they are
      unique for both the persistence methods.
      6b4d92e2
  17. 25 4月, 2012 1 次提交
  18. 10 4月, 2012 4 次提交
  19. 08 4月, 2012 1 次提交
  20. 07 4月, 2012 1 次提交
  21. 02 4月, 2012 1 次提交
  22. 24 3月, 2012 1 次提交
  23. 13 3月, 2012 2 次提交
  24. 10 3月, 2012 1 次提交
  25. 07 3月, 2012 1 次提交
    • A
      Refuse writes if can't persist on disk. · c25e7eaf
      antirez 提交于
      Redis now refuses accepting write queries if RDB persistence is
      configured, but RDB snapshots can't be generated for some reason.
      The status of the latest background save operation is now exposed
      in the INFO output as well. This fixes issue #90.
      c25e7eaf
  26. 17 2月, 2012 1 次提交
    • P
      Don't expire keys when loading an RDB after a SYNC · cb598cdd
      Pieter Noordhuis 提交于
      The cron is responsible for expiring keys. When keys are expired at
      load time, it is possible that the snapshot of a master node gets
      modified. This can in turn lead to inconsistencies in the data set.
      
      A more concrete example of this behavior follows. A user reported a
      slave that would show an monotonically increase input buffer length,
      shortly after completing a SYNC. Also, `INFO` output showed a single
      blocked client, which could only be the master link. Investigation
      showed that indeed the `BRPOP` command was fed by the master. This
      command can only end up in the stream of write operations when it did
      NOT block, and effectively executed `RPOP`. However, when the key
      involved in the `BRPOP` is expired BEFORE the command is executed, the
      client executing it will block. The client in this case, is the master
      link.
      cb598cdd
  27. 26 1月, 2012 1 次提交
  28. 03 1月, 2012 1 次提交
  29. 21 12月, 2011 2 次提交
  30. 12 11月, 2011 1 次提交
  31. 10 11月, 2011 2 次提交
  32. 09 11月, 2011 1 次提交
    • A
      Initial support for key expire times with millisecond resolution. RDB version... · 7dcc10b6
      antirez 提交于
      Initial support for key expire times with millisecond resolution. RDB version is now 3, new opcoded added for high resolution times. Redis is still able to correctly load RDB version 2. Tests passing but still a work in progress. API to specify milliseconds expires still missing, but the precision of normal expires is now already improved and working.
      7dcc10b6