- 04 Oct, 2021 1 commit
-
-
Oran Agra authored
- fix possible heap corruption in ziplist and listpack resulting by trying to allocate more than the maximum size of 4GB. - prevent ziplist (hash and zset) from reaching size of above 1GB, will be converted to HT encoding, that's not a useful size. - prevent listpack (stream) from reaching size of above 1GB. - XADD will start a new listpack if the new record may cause the previous listpack to grow over 1GB. - XADD will respond with an error if a single stream record is over 1GB - List type (ziplist in quicklist) was truncating strings that were over 4GB, now it'll respond with an error. (cherry picked from commit 68e221a3f98a427805d31c1760b4cdf37ba810ab)
-
- 27 Oct, 2020 2 commits
-
-
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) cherry picked from commit 1833d008 * modified to avoid adding new API to 5.0 (reverting the change to RM_KeyType)
-
Guy Benoish authored
Same goes for XGROUP DELCONSUMER (But in this case, it doesn't have any visible effect) (cherry picked from commit 3a441c7d)
-
- 24 Apr, 2020 1 commit
-
-
antirez authored
-
- 17 Apr, 2020 1 commit
-
-
antirez authored
See issue #7105.
-
- 05 Mar, 2020 4 commits
-
-
Guy Benoish authored
Use built-in alsoPropagate mechanism that wraps commands in MULTI/EXEC before sending them to replica/AOF
-
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
-
antirez authored
Fixes #6744.
-
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
-
- 19 Nov, 2019 4 commits
-
-
Guy Benoish authored
-
antirez authored
-
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
-
Loris Cro authored
-
- 26 Apr, 2019 1 commit
-
-
James Rouzier authored
-
- 13 Mar, 2019 3 commits
-
-
zhaozhao.zz authored
Fix issue #5785, in case create group on a key is not stream.
-
Steve Webster authored
-
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
-
- 20 Nov, 2018 3 commits
-
-
antirez authored
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).
-
antirez authored
This fixes the issue reported in #5570. This was fixed the hard way, that is, propagating more information to the lower level API about this being a request to read just the history, so that the code is simpler and less likely to regress.
-
antirez authored
-
- 05 Nov, 2018 8 commits
-
-
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.
-
michael-grunder authored
This fixes an overflow on 32-bit systems.
-
antirez authored
-
antirez authored
-
Itamar Haber authored
-
Itamar Haber authored
-
antirez authored
-
antirez authored
-
- 17 Oct, 2018 9 commits
-
-
antirez authored
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.
-
antirez authored
-
antirez authored
-
antirez authored
This avoids issues with having to replicate a command that produced errors.
-
antirez authored
-
antirez authored
Related to #5426.
-
antirez authored
Keep vanilla stream commands at toplevel, see #5426.
-
zhaozhao.zz authored
-
zhaozhao.zz authored
XSTREAM CREATE <key> <id or *> -- Create a new empty stream. XSTREAM SETID <key> <id or $> -- Set the current stream ID.
-
- 15 Oct, 2018 3 commits