1. 19 Nov, 2012 1 commit
    • antirez's avatar
      Children creating AOF or RDB files now report memory used by COW. · 49b64523
      antirez authored
      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.
      49b64523
  2. 08 Nov, 2012 1 commit
  3. 24 Oct, 2012 1 commit
  4. 02 Jun, 2012 1 commit
    • antirez's avatar
      RDB type loading functions clarified in comments. · c7a25200
      antirez authored
      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.
      c7a25200
  5. 25 May, 2012 1 commit
    • antirez's avatar
      Four new persistence fields in INFO. A few renamed. · 33e1db36
      antirez authored
      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.
      33e1db36
  6. 24 Apr, 2012 1 commit
  7. 10 Apr, 2012 1 commit
  8. 09 Apr, 2012 3 commits
  9. 07 Apr, 2012 4 commits
  10. 31 Mar, 2012 1 commit
  11. 23 Mar, 2012 1 commit
  12. 13 Mar, 2012 2 commits
  13. 10 Mar, 2012 1 commit
  14. 07 Mar, 2012 1 commit
    • antirez's avatar
      Refuse writes if can't persist on disk. · c25e7eaf
      antirez authored
      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
  15. 16 Feb, 2012 1 commit
    • Pieter Noordhuis's avatar
      Don't expire keys when loading an RDB after a SYNC · cb598cdd
      Pieter Noordhuis authored
      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
  16. 25 Jan, 2012 1 commit
  17. 03 Jan, 2012 1 commit
  18. 21 Dec, 2011 2 commits
  19. 12 Nov, 2011 1 commit
  20. 09 Nov, 2011 3 commits
  21. 08 Nov, 2011 1 commit
  22. 23 Oct, 2011 1 commit
  23. 14 Oct, 2011 1 commit
  24. 04 Oct, 2011 1 commit
  25. 22 Sep, 2011 1 commit
  26. 25 Jun, 2011 1 commit
  27. 20 Jun, 2011 1 commit
  28. 17 Jun, 2011 1 commit
  29. 10 Jun, 2011 2 commits
  30. 29 May, 2011 1 commit