1. 22 Jun, 2017 2 commits
  2. 20 Jun, 2017 4 commits
  3. 15 Jun, 2017 3 commits
  4. 14 Jun, 2017 1 commit
  5. 13 Jun, 2017 1 commit
  6. 19 May, 2017 2 commits
  7. 15 May, 2017 1 commit
  8. 11 May, 2017 20 commits
  9. 28 Apr, 2017 2 commits
    • antirez's avatar
      Regression test for PSYNC2 issue #3899 added. · 166bdbda
      antirez authored
      Experimentally verified that it can trigger the issue reverting the fix.
      At least on my system... Being the bug time/backlog dependant, it is
      very hard to tell if this test will be able to trigger the problem
      consistently, however even if it triggers the problem once in a while,
      we'll see it in the CI environment at http://ci.redis.io.
      166bdbda
    • antirez's avatar
      Check event loop creation return value. Fix #3951. · b506eb74
      antirez authored
      Normally we never check for OOM conditions inside Redis since the
      allocator will always return a pointer or abort the program on OOM
      conditons. However we cannot have control on epool_create(), that may
      fail for kernel OOM (according to the manual page) even if all the
      parameters are correct, so the function aeCreateEventLoop() may indeed
      return NULL and this condition must be checked.
      b506eb74
  10. 27 Apr, 2017 1 commit
    • antirez's avatar
      PSYNC2: fix master cleanup when caching it. · 80690562
      antirez authored
      The master client cleanup was incomplete: resetClient() was missing and
      the output buffer of the client was not reset, so pending commands
      related to the previous connection could be still sent.
      
      The first problem caused the client argument vector to be, at times,
      half populated, so that when the correct replication stream arrived the
      protcol got mixed to the arugments creating invalid commands that nobody
      called.
      
      Thanks to @yangsiran for also investigating this problem, after
      already providing important design / implementation hints for the
      original PSYNC2 issues (see referenced Github issue).
      
      Note that this commit adds a new function to the list library of Redis
      in order to be able to reset a list without destroying it.
      
      Related to issue #3899.
      80690562
  11. 22 Apr, 2017 3 commits