1. 22 Aug, 2012 2 commits
  2. 01 Aug, 2012 1 commit
  3. 09 Jul, 2012 3 commits
    • jokea's avatar
    • antirez's avatar
      Typo in comment. · 0332a321
      antirez authored
      0332a321
    • 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
  4. 21 Jun, 2012 1 commit
  5. 02 Jun, 2012 4 commits
  6. 23 May, 2012 6 commits
  7. 12 May, 2012 7 commits
  8. 11 May, 2012 2 commits
  9. 09 May, 2012 2 commits
  10. 02 May, 2012 1 commit
  11. 01 May, 2012 1 commit
    • Pieter Noordhuis's avatar
      Use safe dictionary iterator from KEYS · f2ffb592
      Pieter Noordhuis authored
      Every matched key in a KEYS call is checked for expiration. When the key
      is set to expire, the call to `getExpire` will assert that the key also
      exists in the main dictionary. This in turn causes a rehashing step to
      be executed. Rehashing a dictionary when there is an iterator active may
      result in the iterator emitting duplicate entries, or not emitting some
      entries at all. By using a safe iterator, the rehash step is omitted.
      f2ffb592
  12. 30 Apr, 2012 5 commits
  13. 29 Apr, 2012 2 commits
  14. 21 Apr, 2012 1 commit
    • antirez's avatar
      Limit memory used by big SLOWLOG entries. · df10c797
      antirez authored
      Two limits are added:
      
      1) Up to SLOWLOG_ENTRY_MAX_ARGV arguments are logged.
      2) Up to SLOWLOG_ENTRY_MAX_STRING bytes per argument are logged.
      3) slowlog-max-len is set to 128 by default (was 1024).
      
      The number of remaining arguments / bytes is logged in the entry
      so that the user can understand better the nature of the logged command.
      df10c797
  15. 19 Apr, 2012 1 commit
  16. 18 Apr, 2012 1 commit