1. 05 Jul, 2012 1 commit
    • Saj Goonatilleke's avatar
      Bug fix: slaves being pinged every second · 9edfe635
      Saj Goonatilleke authored
      REDIS_REPL_PING_SLAVE_PERIOD controls how often the master should
      transmit a heartbeat (PING) to its slaves.  This period, which defaults
      to 10, is measured in seconds.
      
      Redis 2.4 masters used to ping their slaves every ten seconds, just like
      it says on the tin.
      
      The Redis 2.6 masters I have been experimenting with, on the other hand,
      ping their slaves *every second*.  (master_last_io_seconds_ago never
      approaches 10.)  I think the ping period was inadvertently slashed to
      one-tenth of its nominal value around the time REDIS_HZ was introduced.
      This commit reintroduces correct ping schedule behaviour.
      9edfe635
  2. 27 Jun, 2012 2 commits
    • antirez's avatar
      Typo in comment. · 36def8fd
      antirez authored
      36def8fd
    • antirez's avatar
      REPLCONF internal command introduced. · 3a328978
      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.
      3a328978
  3. 24 May, 2012 1 commit
    • antirez's avatar
      Dead code removed from replication.c. · ef379976
      antirez authored
      The user @jokea noticed that the following line of code into
      replication.c made little sense:
      
          addReplySds(slave,sdsempty());
      
      Investigating a bit I found that this was introduced by commit 6208b3a7
      three years ago in the early stages of Redis. The code apparently is not
      useful at all, so I'm removing it.
      
      This change will not be backported into 2.4 so that in the rare case
      this should introduce a bug, we'll have a chance to detect it into the
      development branch. However following the code path it seems like the
      code is not useful at all, so the risk is truly small.
      ef379976
  4. 02 May, 2012 1 commit
  5. 25 Apr, 2012 1 commit
  6. 31 Mar, 2012 1 commit
  7. 30 Mar, 2012 2 commits
  8. 29 Mar, 2012 1 commit
  9. 27 Mar, 2012 1 commit
  10. 07 Mar, 2012 1 commit
  11. 29 Feb, 2012 1 commit
  12. 16 Jan, 2012 1 commit
  13. 30 Dec, 2011 1 commit
  14. 21 Dec, 2011 3 commits
  15. 15 Dec, 2011 1 commit
  16. 30 Nov, 2011 1 commit
  17. 31 Oct, 2011 1 commit
  18. 18 Oct, 2011 1 commit
  19. 09 Jun, 2011 1 commit
  20. 30 May, 2011 1 commit
  21. 22 May, 2011 2 commits
  22. 19 May, 2011 1 commit
  23. 21 Feb, 2011 1 commit
  24. 20 Jan, 2011 1 commit
  25. 14 Dec, 2010 1 commit
  26. 12 Nov, 2010 1 commit
  27. 04 Nov, 2010 4 commits
  28. 24 Oct, 2010 1 commit
  29. 02 Sep, 2010 1 commit
  30. 27 Aug, 2010 1 commit
  31. 24 Aug, 2010 2 commits