1. 10 Jan, 2020 2 commits
  2. 08 Jan, 2020 2 commits
  3. 01 Jan, 2020 1 commit
    • antirez's avatar
      Fix active expire division by zero. · 5e7e5e6b
      antirez authored
      Likely fix #6723.
      
      This is what happens AFAIK: we enter the main loop where we expire stuff
      until a given percentage of keys is still found to be logically expired.
      There are however other potential exit conditions.
      
      However the "sampled" variable is not always incremented inside the
      loop, because we may found no valid slot as we scan the hash table, but
      just NULLs ad dict entries. So when the do/while loop condition is
      triggered at the end, we do (expired*100/sampled), dividing by zero if
      we sampled 0 keys.
      5e7e5e6b
  4. 29 Dec, 2019 5 commits
    • antirez's avatar
      Fix duplicated CLIENT SETNAME reply. · e61dde88
      antirez authored
      Happened when we set the name to "" to cancel the name.
      Was introduced during the RESP3 refactoring.
      
      See #6036.
      e61dde88
    • Guy Benoish's avatar
      Stream: Handle streamID-related edge cases · cddf1da2
      Guy Benoish authored
      This commit solves several edge cases that are related to
      exhausting the streamID limits: We should correctly calculate
      the succeeding streamID instead of blindly incrementing 'seq'
      This affects both XREAD and XADD.
      
      Other (unrelated) changes:
      Reply with a better error message when trying to add an entry
      to a stream that has exhausted last_id
      cddf1da2
    • Oran Agra's avatar
      config.c adjust config limits and mutable · 52ea44e5
      Oran Agra authored
      - make lua-replicate-commands mutable (it never was, but i don't see why)
      - make tcp-backlog immutable (fix a recent refactory mistake)
      - increase the max limit of a few configs to match what they were before
      the recent refactory
      52ea44e5
    • antirez's avatar
      Inline protocol: handle empty strings well. · 0f28ea16
      antirez authored
      This bug is from the first version of Redis. Probably the problem here
      is that before we used an SDS split function that created empty strings
      for additional spaces, like in "SET    foo          bar".
      AFAIK later we replaced it with the curretn sdssplitarg() API that has
      no such a problem. As a result, we introduced a bug, where it is no
      longer possible to do something like:
      
          SET foo ""
      
      Using the inline protocol. Now it is fixed.
      0f28ea16
    • antirez's avatar
      00e5fefe
  5. 19 Dec, 2019 1 commit
  6. 18 Dec, 2019 6 commits
  7. 17 Dec, 2019 11 commits
  8. 16 Dec, 2019 1 commit
  9. 13 Dec, 2019 1 commit
  10. 12 Dec, 2019 5 commits
  11. 11 Dec, 2019 2 commits
  12. 09 Dec, 2019 2 commits
  13. 05 Dec, 2019 1 commit
    • Eran Liberty's avatar
      - memcpy(&id,ri.key,ri.key_len); · 08c3fe80
      Eran Liberty authored
      +        memcpy(&id,ri.key,sizeof(id));
      
      The memcpy from the key to the id reliease on the fact that this key
      *should* be 8 bytes long as it was entered as such a few lines up the
      code.
      
      BUT if someone will change the code to the point this is no longer true,
      current code can trash the stack which makes debugging very hard
      while this fix will result in some garbage id, or even page fault.
      Both are preferable to stack mangaling.
      08c3fe80