1. 04 May, 2015 7 commits
    • FuGangqiang's avatar
      sdsfree x and y · 8db39699
      FuGangqiang authored
      8db39699
    • FuGangqiang's avatar
      fix doc example · 98756d4c
      FuGangqiang authored
      98756d4c
    • FuGangqiang's avatar
      fix typo · 7316fda3
      FuGangqiang authored
      7316fda3
    • therealbill's avatar
      Making sentinel flush config on +slave · f0ab4fd6
      therealbill authored
      Originally, only the +slave event which occurs when a slave is
      reconfigured during sentinelResetMasterAndChangeAddress triggers a flush
      of the config to disk.  However, newly discovered slaves don't
      apparently trigger this flush but do trigger the +slave event issuance.
      
      So if you start up a sentinel, add a master, then add a slave to the
      master (as a way to reproduce it) you'll see the +slave event issued,
      but the sentinel config won't be updated with the known-slave entry.
      
      This change makes sentinel do the flush of the config if a new slave is
      deteted in sentinelRefreshInstanceInfo.
      f0ab4fd6
    • antirez's avatar
      Sentinel: remove useless sentinelFlushConfig() call · e4c54498
      antirez authored
      To rewrite the config in the loop that adds slaves back after a master
      reset, in order to handle switching to another master, is useless: it
      just adds latency since there is an fsync call in the inner loop,
      without providing any additional guarantee, but the contrary, since if
      after the first loop iteration the server crashes we end with just a
      single slave entry losing all the other informations.
      
      It is wiser to rewrite the config at the end when the full new
      state is configured.
      e4c54498
    • Yossi Gottlieb's avatar
    • clark.kang's avatar
      fix sentinel memory leak · c4d4c1ed
      clark.kang authored
      c4d4c1ed
  2. 27 Apr, 2015 1 commit
  3. 01 Apr, 2015 1 commit
    • Oran Agra's avatar
      fixes to diskless replication. · c72253ec
      Oran Agra authored
      master was closing the connection if the RDB transfer took long time.
      and also sent PINGs to the slave before it got the initial ACK, in which case the slave wouldn't be able to find the EOF marker.
      c72253ec
  4. 24 Mar, 2015 1 commit
    • antirez's avatar
      Replication: disconnect blocked clients when switching to slave role. · 96aa6106
      antirez authored
      Bug as old as Redis and blocking operations. It's hard to trigger since
      only happens on instance role switch, but the results are quite bad
      since an inconsistency between master and slave is created.
      
      How to trigger the bug is a good description of the bug itself.
      
      1. Client does "BLPOP mylist 0" in master.
      2. Master is turned into slave, that replicates from New-Master.
      3. Client does "LPUSH mylist foo" in New-Master.
      4. New-Master propagates write to slave.
      5. Slave receives the LPUSH, the blocked client get served.
      
      Now Master "mylist" key has "foo", Slave "mylist" key is empty.
      
      Highlights:
      
      * At step "2" above, the client remains attached, basically escaping any
        check performed during command dispatch: read only slave, in that case.
      * At step "5" the slave (that was the master), serves the blocked client
        consuming a list element, which is not consumed on the master side.
      
      This scenario is technically likely to happen during failovers, however
      since Redis Sentinel already disconnects clients using the CLIENT
      command when changing the role of the instance, the bug is avoided in
      Sentinel deployments.
      
      Closes #2473.
      96aa6106
  5. 08 Mar, 2015 1 commit
  6. 04 Mar, 2015 1 commit
    • antirez's avatar
      Fix iterator for issue #2438. · f8f40afd
      antirez authored
      Itereator misuse due to analyzeLatencyForEvent() accessing the
      dictionary during the iteration, without the iterator being
      reclared as safe.
      f8f40afd
  7. 10 Feb, 2015 8 commits
  8. 02 Feb, 2015 1 commit
    • mattcollier's avatar
      Update redis-cli.c · 61290d81
      mattcollier authored
      Code was adding '\n'  (line 521) to the end of NIL values exlusively making csv output inconsistent.  Removed '\n'
      61290d81
  9. 22 Jan, 2015 3 commits
  10. 21 Jan, 2015 1 commit
    • antirez's avatar
      AOF rewrite: set iterator var to NULL when freed. · e7aa5fb5
      antirez authored
      The cleanup code expects that if 'di' is not NULL, it is a valid
      iterator that should be freed.
      
      The result of this bug was a crash of the AOF rewriting process if an
      error occurred after the DBs data are written and the iterator is no
      longer valid.
      e7aa5fb5
  11. 09 Jan, 2015 2 commits
  12. 23 Dec, 2014 1 commit
    • antirez's avatar
      INFO loading stats: three fixes. · 22a0fe8d
      antirez authored
      1. Server unxtime may remain not updated while loading AOF, so ETA is
      not updated correctly.
      
      2. Number of processed byte was not initialized.
      
      3. Possible division by zero condition (likely cause of issue #1932).
      22a0fe8d
  13. 22 Dec, 2014 1 commit
  14. 19 Dec, 2014 1 commit
  15. 17 Dec, 2014 1 commit
  16. 16 Dec, 2014 1 commit
  17. 13 Dec, 2014 2 commits
  18. 12 Dec, 2014 1 commit
  19. 11 Dec, 2014 3 commits
  20. 09 Dec, 2014 2 commits