1. 30 Aug, 2012 1 commit
    • antirez's avatar
      run_id added to INFO output (backported from 2.6). · 96fbd433
      antirez authored
      This change is required to make Redis 2.4 compatible with Sentinel.
      
      The Run ID is a field that identifies a single execution of the Redis
      server. It can be useful for many purposes as it makes easy to detect if
      the instance we are talking about is the same, or if it is a different
      one or was rebooted. An application of run_id will be in the partial
      synchronization of replication, where a slave may request a partial sync
      from a given offset only if it is talking with the same master. Another
      application is in failover and monitoring scripts.
      96fbd433
  2. 09 Jul, 2012 1 commit
    • antirez's avatar
      REPLCONF internal command introduced. · b998ebe9
      antirez authored
      The REPLCONF command is an internal command (not designed to be directly
      used by normal clients) that allows a slave to set some replication
      related state in the master before issuing SYNC to start the
      replication.
      
      The initial motivation for this command, and the only reason currently
      it is used by the implementation, is to let the slave instance
      communicate its listening port to the slave, so that the master can
      show all the slaves with their listening ports in the "replication"
      section of the INFO output.
      
      This allows clients to auto discover and query all the slaves attached
      into a master.
      
      Currently only a single option of the REPLCONF command is supported, and
      it is called "listening-port", so the slave now starts the replication
      process with something like the following chat:
      
          REPLCONF listening-prot 6380
          SYNC
      
      Note that this works even if the master is an older version of Redis and
      does not understand REPLCONF, because the slave ignores the REPLCONF
      error.
      
      In the future REPLCONF can be used for partial replication and other
      replication related features where there is the need to exchange
      information between master and slave.
      
      NOTE: This commit also fixes a bug: the INFO outout already carried
      information about slaves, but the port was broken, and was obtained
      with getpeername(2), so it was actually just the ephemeral port used
      by the slave to connect to the master as a client.
      b998ebe9
  3. 12 May, 2012 2 commits
    • antirez's avatar
    • antirez's avatar
      More incremental active expired keys collection process. · 9419eb0f
      antirez authored
      If a large amonut of keys are all expiring about at the same time, the
      "active" expired keys collection cycle used to block as far as the
      percentage of already expired keys was >= 25% of the total population of
      keys with an expire set.
      
      This could block the server even for many seconds in order to reclaim
      memory ASAP. The new algorithm uses at max a small amount of
      milliseconds per cycle, even if this means reclaiming the memory less
      promptly it also means a more responsive server.
      9419eb0f
  4. 04 Apr, 2012 1 commit
  5. 29 Mar, 2012 1 commit
  6. 18 Mar, 2012 5 commits
  7. 15 Feb, 2012 6 commits
  8. 02 Feb, 2012 2 commits
  9. 12 Jan, 2012 1 commit
  10. 10 Jan, 2012 1 commit
  11. 07 Jan, 2012 1 commit
  12. 28 Nov, 2011 1 commit
  13. 24 Nov, 2011 2 commits
  14. 21 Nov, 2011 1 commit
  15. 18 Oct, 2011 2 commits
  16. 14 Oct, 2011 1 commit
  17. 10 Oct, 2011 4 commits
  18. 20 Sep, 2011 4 commits
  19. 19 Sep, 2011 1 commit
  20. 14 Sep, 2011 2 commits