1. 07 Feb, 2014 2 commits
  2. 04 Feb, 2014 1 commit
    • antirez's avatar
      CLIENT PAUSE and related API implemented. · 4919a13f
      antirez authored
      The API is one of the bulding blocks of CLUSTER FAILOVER command that
      executes a manual failover in Redis Cluster. However exposed as a
      command that the user can call directly, it makes much simpler to
      upgrade a standalone Redis instance using a slave in a safer way.
      
      The commands works like that:
      
          CLIENT PAUSE <milliesconds>
      
      All the clients that are not slaves and not in MONITOR state are paused
      for the specified number of milliesconds. This means that slaves are
      normally served in the meantime.
      
      At the end of the specified amount of time all the clients are unblocked
      and will continue operations normally. This command has no effects on
      the population of the slow log, since clients are not blocked in the
      middle of operations but only when there is to process new data.
      
      Note that while the clients are unblocked, still new commands are
      accepted and queued in the client buffer, so clients will likely not
      block while writing to the server while the pause is active.
      4919a13f
  3. 03 Feb, 2014 1 commit
  4. 31 Jan, 2014 3 commits
  5. 28 Jan, 2014 1 commit
  6. 14 Jan, 2014 1 commit
    • antirez's avatar
      Cluster: support to read from slave nodes. · 28273394
      antirez authored
      A client can enter a special cluster read-only mode using the READONLY
      command: if the client read from a slave instance after this command,
      for slots that are actually served by the instance's master, the queries
      will be processed without redirection, allowing clients to read from
      slaves (but without any kind fo read-after-write guarantee).
      
      The READWRITE command can be used in order to exit the readonly state.
      28273394
  7. 23 Dec, 2013 1 commit
  8. 19 Dec, 2013 1 commit
  9. 11 Dec, 2013 1 commit
    • antirez's avatar
      Replication: publish the slave_repl_offset when disconnected from master. · a5ec247f
      antirez authored
      When a slave was disconnected from its master the replication offset was
      reported as -1. Now it is reported as the replication offset of the
      previous master, so that failover can be performed using this value in
      order to try to select a slave with more processed data from a set of
      slaves of the old master.
      a5ec247f
  10. 05 Dec, 2013 2 commits
  11. 04 Dec, 2013 1 commit
  12. 03 Dec, 2013 1 commit
  13. 29 Nov, 2013 1 commit
  14. 28 Nov, 2013 2 commits
  15. 21 Nov, 2013 1 commit
  16. 19 Nov, 2013 1 commit
    • antirez's avatar
      Sentinel: distinguish between is-master-down-by-addr requests. · 37a51a25
      antirez authored
      Some are just to know if the master is down, and in this case the runid
      in the request is set to "*", others are actually in order to seek for a
      vote and get elected. In the latter case the runid is set to the runid
      of the instance seeking for the vote.
      37a51a25
  17. 28 Oct, 2013 4 commits
  18. 25 Oct, 2013 2 commits
  19. 09 Oct, 2013 2 commits
  20. 26 Sep, 2013 1 commit
  21. 17 Sep, 2013 1 commit
  22. 27 Aug, 2013 1 commit
  23. 22 Aug, 2013 2 commits
  24. 21 Aug, 2013 1 commit
  25. 06 Aug, 2013 4 commits
    • antirez's avatar
      Add per-db average TTL information in INFO output. · 112fa479
      antirez authored
      Example:
      
      db0:keys=221913,expires=221913,avg_ttl=655
      
      The algorithm uses a running average with only two samples (current and
      previous). Keys found to be expired are considered at TTL zero even if
      the actual TTL can be negative.
      
      The TTL is reported in milliseconds.
      112fa479
    • antirez's avatar
      activeExpireCycle(): fix about fast cycle early start. · 4befe73b
      antirez authored
      We don't want to repeat a fast cycle too soon, the previous code was
      broken, we need to wait two times the period *since* the start of the
      previous cycle in order to avoid there is an even space between cycles:
      
      .-> start                   .-> second start
      |                           |
      +-------------+-------------+--------------+
      | first cycle |    pause    | second cycle |
      +-------------+-------------+--------------+
      
      The second and first start must be PERIOD*2 useconds apart hence the *2
      in the new code.
      4befe73b
    • antirez's avatar
      Some activeExpireCycle() refactoring. · 6500fabf
      antirez authored
      6500fabf
    • antirez's avatar
      d398f388
  26. 05 Aug, 2013 1 commit
    • antirez's avatar
      Darft #2 for key collection algo: more improvements. · 66a26471
      antirez authored
      This commit makes the fast collection cycle time configurable, at
      the same time it does not allow to run a new fast collection cycle
      for the same amount of time as the max duration of the fast
      collection cycle.
      66a26471