1. 28 4月, 2020 2 次提交
  2. 24 4月, 2020 1 次提交
  3. 23 4月, 2020 1 次提交
  4. 22 4月, 2020 1 次提交
  5. 21 4月, 2020 1 次提交
  6. 17 4月, 2020 1 次提交
  7. 10 4月, 2020 1 次提交
  8. 30 3月, 2020 1 次提交
    • G
      streamReplyWithRange: Redundant XSETIDs to replica · 12d74791
      Guy Benoish 提交于
      propagate_last_id is declared outside of the loop but used
      only from within the loop. Once it's '1' it will never go
      back to '0' and will replicate XSETID even for IDs that
      don't actually change the last_id.
      While not a serious bug (XSETID always used group->last_id
      so there's no risk), it does causes redundant traffic
      between master and its replicas
      12d74791
  9. 26 3月, 2020 2 次提交
  10. 23 2月, 2020 1 次提交
  11. 19 2月, 2020 1 次提交
  12. 08 1月, 2020 1 次提交
  13. 30 12月, 2019 1 次提交
    • G
      Blocking XREAD[GROUP] should always reply with valid data (or timeout) · a351e74f
      Guy Benoish 提交于
      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
  14. 26 12月, 2019 1 次提交
    • G
      Stream: Handle streamID-related edge cases · 1f75ce30
      Guy Benoish 提交于
      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
  15. 18 12月, 2019 1 次提交
  16. 19 11月, 2019 1 次提交
  17. 13 11月, 2019 1 次提交
    • G
      XADD with ID 0-0 stores an empty key · 4a12047c
      Guy Benoish 提交于
      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
  18. 06 11月, 2019 1 次提交
    • G
      Support streams in general module API functions · 1833d008
      Guy Benoish 提交于
      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
  19. 04 11月, 2019 2 次提交
  20. 10 10月, 2019 1 次提交
  21. 12 4月, 2019 1 次提交
  22. 13 3月, 2019 1 次提交
  23. 09 3月, 2019 1 次提交
    • S
      Increment delivery counter on XCLAIM unless RETRYCOUNT specified · f1e7df4b
      Steve Webster 提交于
      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
  24. 16 1月, 2019 1 次提交
  25. 10 1月, 2019 1 次提交
  26. 20 11月, 2018 1 次提交
    • A
      Stream: fix XREADGROUP history reading of deleted messages. · 2bd6802f
      antirez 提交于
      This commit fixes #5570. It is a similar bug to one fixed a few weeks
      ago and is due to the range API to be called with NULL as "end ID"
      parameter instead of repeating again the start ID, to be sure that we
      selectively issue the entry with a given ID, or we get zero returned
      (and we know we should emit a NULL reply).
      2bd6802f
  27. 19 11月, 2018 2 次提交
  28. 05 11月, 2018 2 次提交
    • A
      Fix XCLAIM missing entry bug. · 6ba50784
      antirez 提交于
      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
    • A
      Improve streamReplyWithRange() top comment. · e7c579e1
      antirez 提交于
      e7c579e1
  29. 04 11月, 2018 1 次提交
  30. 31 10月, 2018 1 次提交
  31. 25 10月, 2018 2 次提交
  32. 24 10月, 2018 1 次提交
  33. 18 10月, 2018 1 次提交
  34. 17 10月, 2018 1 次提交
    • A
      Streams: use bulk replies instead of status replies. · 144832ee
      antirez 提交于
      They play better with Lua scripting, otherwise Lua will see status
      replies as "ok" = "string" which is very odd, and actually as @oranagra
      reasoned in issue #5456 in the rest of the Redis code base there was no
      such concern as saving a few bytes when the protocol is emitted.
      144832ee