1. 23 Feb, 2020 1 commit
  2. 08 Jan, 2020 1 commit
  3. 30 Dec, 2019 1 commit
    • Guy Benoish's avatar
      Blocking XREAD[GROUP] should always reply with valid data (or timeout) · a351e74f
      Guy Benoish authored
      This commit solves the following bug:
      127.0.0.1:6379> XGROUP CREATE x grp $ MKSTREAM
      OK
      127.0.0.1:6379> XADD x 666 f v
      "666-0"
      127.0.0.1:6379> XREADGROUP GROUP grp Alice BLOCK 0 STREAMS x >
      1) 1) "x"
         2) 1) 1) "666-0"
               2) 1) "f"
                  2) "v"
      127.0.0.1:6379> XADD x 667 f v
      "667-0"
      127.0.0.1:6379> XDEL x 667
      (integer) 1
      127.0.0.1:6379> XREADGROUP GROUP grp Alice BLOCK 0 STREAMS x >
      1) 1) "x"
         2) (empty array)
      
      The root cause is that we use s->last_id in streamCompareID
      while we should use the last *valid* ID
      a351e74f
  4. 26 Dec, 2019 1 commit
    • Guy Benoish's avatar
      Stream: Handle streamID-related edge cases · 1f75ce30
      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
      1f75ce30
  5. 19 Nov, 2019 1 commit
  6. 13 Nov, 2019 1 commit
    • Guy Benoish's avatar
      XADD with ID 0-0 stores an empty key · 4a12047c
      Guy Benoish authored
      Calling XADD with 0-0 or 0 would result in creating an
      empty key and storing it in the database.
      Even worse, because XADD will reply with error the action
      will not be replicated, creating a master-replica
      inconsistency
      4a12047c
  7. 06 Nov, 2019 1 commit
    • Guy Benoish's avatar
      Support streams in general module API functions · 1833d008
      Guy Benoish authored
      Fixes GitHub issue #6492
      Added stream support in RM_KeyType and RM_ValueLength.
      Also moduleDelKeyIfEmpty was updated, even though it has
      no effect now (It will be relevant when stream type direct
      API will be coded - i.e. RM_StreamAdd)
      1833d008
  8. 04 Nov, 2019 2 commits
  9. 10 Oct, 2019 1 commit
  10. 11 Apr, 2019 1 commit
  11. 12 Mar, 2019 1 commit
  12. 08 Mar, 2019 1 commit
    • Steve Webster's avatar
      Increment delivery counter on XCLAIM unless RETRYCOUNT specified · f1e7df4b
      Steve Webster authored
      The XCLAIM docs state the XCLAIM increments the delivery counter for
      messages. This PR makes the code match the documentation - which seems
      like the desired behaviour - whilst still allowing RETRYCOUNT to be
      specified manually.
      
      My understanding of the way streamPropagateXCLAIM() works is that this
      change will safely propagate to replicas since retry count is pulled
      directly from the streamNACK struct.
      
      Fixes #5194
      f1e7df4b
  13. 16 Jan, 2019 1 commit
  14. 09 Jan, 2019 1 commit
  15. 19 Nov, 2018 3 commits
  16. 05 Nov, 2018 2 commits
    • antirez's avatar
      Fix XCLAIM missing entry bug. · 6ba50784
      antirez authored
      This bug had a double effect:
      
      1. Sometimes entries may not be emitted, producing broken protocol where
      the array length was greater than the emitted entires, blocking the
      client waiting for more data.
      
      2. Some other time the right entry was claimed, but a wrong entry was
      returned to the client.
      
      This fix should correct both the instances.
      6ba50784
    • antirez's avatar
      Improve streamReplyWithRange() top comment. · e7c579e1
      antirez authored
      e7c579e1
  17. 03 Nov, 2018 1 commit
  18. 31 Oct, 2018 1 commit
  19. 25 Oct, 2018 2 commits
  20. 24 Oct, 2018 1 commit
  21. 17 Oct, 2018 7 commits
  22. 16 Oct, 2018 2 commits
  23. 15 Oct, 2018 3 commits
  24. 11 Oct, 2018 3 commits