1. 03 9月, 2013 1 次提交
  2. 12 8月, 2013 3 次提交
  3. 28 7月, 2013 1 次提交
  4. 18 7月, 2013 1 次提交
  5. 13 7月, 2013 1 次提交
  6. 11 7月, 2013 3 次提交
  7. 26 6月, 2013 3 次提交
    • A
      Don't disconnect pre PSYNC replication clients for timeout. · cdf79c06
      antirez 提交于
      Clients using SYNC to replicate are older implementations, such as
      redis-cli --slave, and are not designed to acknowledge the master with
      REPLCONF ACK commands, so we don't have any feedback and should not
      disconnect them on timeout.
      cdf79c06
    • A
      Use the RSC to replicate EVALSHA unmodified. · 545fe0c3
      antirez 提交于
      This commit uses the Replication Script Cache in order to avoid
      translating EVALSHA into EVAL whenever possible for both the AOF and
      slaves.
      545fe0c3
    • A
      Replication of scripts as EVALSHA: sha1 caching implemented. · 9d894b1b
      antirez 提交于
      This code is only responsible to take an LRU-evicted fixed length cache
      of SHA1 that we are sure all the slaves received.
      
      In this commit only the implementation is provided, but the Redis core
      does not use it to actually send EVALSHA to slaves when possible.
      9d894b1b
  8. 31 5月, 2013 1 次提交
  9. 30 5月, 2013 1 次提交
  10. 27 5月, 2013 5 次提交
    • A
      Close connection with timedout slaves. · 308940aa
      antirez 提交于
      Now masters, using the time at which the last REPLCONF ACK was received,
      are able to explicitly disconnect slaves that are no longer responding.
      
      Previously the only chance was to see a very long output buffer, that
      was highly suboptimal.
      308940aa
    • A
      Send ACK to master once every second. · 45e6a402
      antirez 提交于
      ACKs can be also used as a base for synchronous replication. However in
      that case they'll be explicitly requested by the master when the client
      sends a request that needs to be replicated synchronously.
      45e6a402
    • A
      Don't ACK the master after every command. · a74f8fe1
      antirez 提交于
      Sending an ACK is now moved into the replicationSendAck() function.
      a74f8fe1
    • A
      Make sure that REPLCONF ACK really has no return value. · 0000d533
      antirez 提交于
      0000d533
    • A
      REPLCONF ACK command. · 1e77b77d
      antirez 提交于
      This special command is used by the slave to inform the master the
      amount of replication stream it currently consumed.
      
      it does not return anything so that we not need to consume additional
      bandwidth needed by the master to reply something.
      
      The master can do a number of things knowing the amount of stream
      processed, such as understanding the "lag" in bytes of the slave, verify
      if a given command was already processed by the slave, and so forth.
      1e77b77d
  11. 27 2月, 2013 1 次提交
  12. 14 2月, 2013 2 次提交
  13. 12 2月, 2013 12 次提交
  14. 08 2月, 2013 1 次提交
  15. 05 2月, 2013 2 次提交
    • A
      TCP_NODELAY after SYNC: changes to the implementation. · 5f7dff4d
      antirez 提交于
      5f7dff4d
    • C
      Turn off TCP_NODELAY on the slave socket after SYNC. · 1d80acae
      charsyam 提交于
      Further details from @antirez:
      
      It was reported by @StopForumSpam on Twitter that the Redis replication
      link was strangely using multiple TCP packets for multiple commands.
      This wastes a lot of bandwidth and is due to the TCP_NODELAY option we
      enable on the socket after accepting a new connection.
      
      However the master -> slave channel is a one-way channel since Redis
      replication is asynchronous, so there is no point in trying to reduce
      the latency, we should aim to reduce the bandwidth. For this reason this
      commit introduces the ability to disable the nagle algorithm on the
      socket after a successful SYNC.
      
      This feature is off by default because the delay can be up to 40
      milliseconds with normally configured Linux kernels.
      1d80acae
  16. 19 1月, 2013 1 次提交
    • G
      Fixed many typos. · 1caf0939
      guiquanz 提交于
      Conflicts fixed, mainly because 2.8 has no cluster support / files:
      	00-RELEASENOTES
      	src/cluster.c
      	src/crc16.c
      	src/redis-trib.rb
      	src/redis.h
      1caf0939
  17. 15 1月, 2013 1 次提交
    • A
      Undo slave-master handshake when SLAVEOF sets a new slave. · aa9497fd
      antirez 提交于
      Issue #828 shows how Redis was not correctly undoing a non-blocking
      connection attempt with the previous master when the master was set to a
      new address using the SLAVEOF command.
      
      This was also a result of lack of refactoring, so now there is a
      function to cancel the non blocking handshake with the master.
      The new function is now used when SLAVEOF NO ONE is called or when
      SLAVEOF is used to set the master to a different address.
      aa9497fd