1. 04 5月, 2015 1 次提交
  2. 29 4月, 2015 1 次提交
    • A
      Fix Sentinel memory leak (hiredis bug) · 081a0c94
      antirez 提交于
      This fixes issue #2535, that was actually an hiredis library bug (I
      submitted an issue and fix to the redis/hiredis repo as well).
      
      When an asynchronous hiredis connection subscribes to a Pub/Sub channel
      and gets an error, and in other related conditions, the function
      redisProcessCallbacks() enters a code path where the link is
      disconnected, however the function returns before freeing the allocated
      reply object. This causes a memory leak. The memory leak was trivial to
      trigger in Redis Sentinel, which uses hiredis, every time we tried to
      subscribe to an instance that required a password, in case the Sentinel
      was configured either with the wrong password or without password at
      all. In this case, the -AUTH error caused the leaking code path to be
      executed.
      
      It was verified with Valgrind that after this change the leak no longer
      happens in Sentinel with a misconfigured authentication password.
      081a0c94
  3. 27 4月, 2015 1 次提交
  4. 01 4月, 2015 1 次提交
    • O
      fixes to diskless replication. · c72253ec
      Oran Agra 提交于
      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
  5. 27 3月, 2015 1 次提交
  6. 24 3月, 2015 1 次提交
    • A
      Replication: disconnect blocked clients when switching to slave role. · 96aa6106
      antirez 提交于
      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
  7. 08 3月, 2015 1 次提交
  8. 05 3月, 2015 1 次提交
    • A
      Fix iterator for issue #2438. · f8f40afd
      antirez 提交于
      Itereator misuse due to analyzeLatencyForEvent() accessing the
      dictionary during the iteration, without the iterator being
      reclared as safe.
      f8f40afd
  9. 10 2月, 2015 9 次提交
  10. 03 2月, 2015 1 次提交
    • M
      Update redis-cli.c · 61290d81
      mattcollier 提交于
      Code was adding '\n'  (line 521) to the end of NIL values exlusively making csv output inconsistent.  Removed '\n'
      61290d81
  11. 22 1月, 2015 3 次提交
  12. 21 1月, 2015 1 次提交
    • A
      AOF rewrite: set iterator var to NULL when freed. · e7aa5fb5
      antirez 提交于
      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
  13. 09 1月, 2015 2 次提交
  14. 08 1月, 2015 2 次提交
  15. 23 12月, 2014 1 次提交
    • A
      INFO loading stats: three fixes. · 22a0fe8d
      antirez 提交于
      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
  16. 22 12月, 2014 1 次提交
  17. 19 12月, 2014 1 次提交
  18. 17 12月, 2014 1 次提交
  19. 16 12月, 2014 1 次提交
  20. 13 12月, 2014 5 次提交
  21. 11 12月, 2014 4 次提交