1. 12 Sep, 2018 3 commits
  2. 11 Sep, 2018 18 commits
  3. 06 Sep, 2018 1 commit
  4. 05 Sep, 2018 6 commits
    • antirez's avatar
      Use commands (effects) replication by default in scripts. · 7895835d
      antirez authored
      See issue #5250 and issue #5292 for more info.
      7895835d
    • antirez's avatar
      Safer script stop condition on OOM. · 7e11825e
      antirez authored
      Here the idea is that we do not want freeMemoryIfNeeded() to propagate a
      DEL command before the script and change what happens in the script
      execution once it reaches the slave. For example see this potential
      issue (in the words of @soloestoy):
      
      On master, we run the following script:
      
          if redis.call('get','key')
          then
              redis.call('set','xxx','yyy')
          end
          redis.call('set','c','d')
      
      Then when redis attempts to execute redis.call('set','xxx','yyy'), we call freeMemoryIfNeeded(), and the key may get deleted, and because redis.call('set','xxx','yyy') has already been executed on master, this script will be replicated to slave.
      
      But the slave received "DEL key" before the script, and will ignore maxmemory, so after that master has xxx and c, slave has only one key c.
      
      Note that this patch (and other related work) was authored collaboratively in
      issue #5250 with the help of @soloestoy and @oranagra.
      
      Related to issue #5250.
      7e11825e
    • antirez's avatar
      Propagate read-only scripts as SCRIPT LOAD. · 092e4de6
      antirez authored
      See issue #5250 and the new comments added to the code in this commit
      for details.
      092e4de6
    • antirez's avatar
      Don't perform eviction when re-entering the event loop. · 51b627d9
      antirez authored
      Related to #5250.
      51b627d9
    • youjiali1995's avatar
      bio: fix bioWaitStepOfType. · c3288348
      youjiali1995 authored
      c3288348
    • youjiali1995's avatar
      sentinel: fix randomized sentinelTimer. · a8322f44
      youjiali1995 authored
      a8322f44
  5. 04 Sep, 2018 2 commits
    • antirez's avatar
      Clarify why remaining may be zero in readQueryFromClient(). · 4e5e0d37
      antirez authored
      See #5304.
      4e5e0d37
    • Sascha Roland's avatar
      #5299 Fix blocking XREAD for streams that ran dry · c1e9186f
      Sascha Roland authored
      The conclusion, that a xread request can be answered syncronously in
      case that the stream's last_id is larger than the passed last-received-id
      parameter, assumes, that there must be entries present, which could be
      returned immediately.
      This assumption fails for empty streams that actually contained some
      entries which got removed by xdel, ... .
      
      As result, the client is answered synchronously with an empty result,
      instead of blocking for new entries to arrive.
      An additional check for a non-empty stream is required.
      c1e9186f
  6. 03 Sep, 2018 5 commits
  7. 02 Sep, 2018 1 commit
  8. 31 Aug, 2018 4 commits