Salvatore Sanfilippo
ba1d382d42
Merge pull request #5210 from soloestoy/raxinsert-in-xdel
...
Streams: update listpack with new pointer in XDEL
2018-10-02 16:18:55 +02:00
antirez
4813183c5b
Fix XINFO comment for consistency.
2018-10-01 11:38:58 +02:00
Guy Korland
c03afe91e7
add missing argument to function doc
2018-09-21 02:46:31 +03:00
Sascha Roland
cbbf49b7d3
#5299 Fix blocking XREAD for streams that ran dry
...
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.
2018-09-04 13:13:36 +02:00
zhaozhao.zz
401e63fe59
Streams: update listpack with new pointer in XDEL
2018-08-04 01:06:53 +08:00
Salvatore Sanfilippo
9e9ee8867d
Merge pull request #5146 from 0xtonyxia/fix-xclaim-id-parse
...
Streams: ID of xclaim command should start from the sixth argument.
2018-08-03 13:45:27 +02:00
shenlongxing
7a184d7916
Fix stream command paras
2018-08-03 19:01:15 +08:00
antirez
97f005b23b
Streams IDs parsing refactoring.
...
Related to #5184 .
2018-07-31 18:08:52 +02:00
dejun.xdj
9a4ef7eae7
Streams: rearrange the usage of '-' and '+' IDs in stream commands.
2018-07-30 21:33:01 +08:00
dejun.xdj
06226f494d
Streams: add mmid_supp argument in streamParseIDOrReply().
...
If 'mmid_supp' is set to 0, "-" and "+" will be
treated as an invalid ID.
2018-07-30 21:32:07 +08:00
Salvatore Sanfilippo
f287bbe734
Merge pull request #5133 from soloestoy/fix-xdel-memory-leak
...
Streams: fix xdel memory leak
2018-07-24 18:57:05 +02:00
zhaozhao.zz
3ca7a87947
Streams: fix xdel memory leak
2018-07-25 00:06:27 +08:00
antirez
d59ae26656
Streams: refactoring of next entry seek in the iterator.
...
After #5161 the code could be made a bit more obvious for newcomers.
2018-07-24 11:07:27 +02:00
zhaozhao.zz
bcfc6bb7ee
Streams: skip master fileds only when we are going forward in streamIteratorGetID
2018-07-22 17:52:09 +08:00
dejun.xdj
bad9fc8195
Streams: ID of xclaim command starts from the sixth argument.
2018-07-19 20:48:08 +08:00
antirez
be5487e552
Streams: better error when $ is given with XREADGROUP.
2018-07-17 17:54:10 +02:00
Salvatore Sanfilippo
384b4b495d
Merge pull request #5136 from 0xtonyxia/fix-xread-id-parse
...
Fix xreadgroup with '$' ID.
2018-07-17 17:50:31 +02:00
dejun.xdj
513985d4bc
Streams: remove meaningless if condition.
...
It's already checked if xreadgroup is set and groupname is NULL.
2018-07-17 18:23:47 +08:00
dejun.xdj
3cf77c02eb
Streams: return an error message if using xreadgroup with '$' ID.
...
Redis will always return an empty result when '$' ID is specified
with xreadgroup command, it's meaningless.
2018-07-17 18:19:10 +08:00
Salvatore Sanfilippo
401a231964
Merge pull request #5113 from 0xtonyxia/using-compare-func-instead
...
Streams: using streamCompareID() instead of direct compare.
2018-07-16 18:34:35 +02:00
zhaozhao.zz
66a38593a3
Streams: correctly propagate xdel if needed
2018-07-16 20:48:07 +08:00
antirez
b282db6e0b
Add a few comments to streamIteratorRemoveEntry().
2018-07-16 12:41:55 +02:00
Salvatore Sanfilippo
53e777dbed
Merge pull request #5131 from soloestoy/optimize-xdel
...
Streams: free lp if all elements are deleted
2018-07-16 12:39:38 +02:00
antirez
82d3d852a0
Modify XINFO field from last-id to last-generated-id.
...
Related to #5129 .
2018-07-16 12:25:26 +02:00
zhaozhao.zz
660e45d598
Streams: free lp if all elements are deleted
2018-07-16 15:57:41 +08:00
zhaozhao.zz
325114d59e
Streams: show last id for streams and groups
2018-07-16 13:24:54 +08:00
dejun.xdj
2c27cd24ca
Streams: using streamCompareID() instead of direct compare.
2018-07-14 20:34:06 +08:00
antirez
3780c517c5
Streams: when re-delivering because of SETID, reset deliveries counter.
...
We don't want to increment the deliveries here, because the sysadmin
reset the consumer group so the desire is likely to restart processing,
and having the PEL polluted with old information is not useful but
probably confusing.
Related to #5111 .
2018-07-12 13:19:39 +02:00
antirez
48ca8fa170
Simplify duplicated NACK #5112 fix.
...
We don't really need to distinguish between the case the consumer is the
same or is a different one.
2018-07-12 13:15:54 +02:00
Salvatore Sanfilippo
e17cd8e71c
Merge pull request #5112 from 0xtonyxia/fix-xreadgroup-crash-after-setid
...
Streams: fix xreadgroup crash after xgroup SETID is sent.
2018-07-12 13:04:22 +02:00
antirez
c55bce5022
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2018-07-10 12:06:44 +02:00
antirez
7ab0605a9e
Streams: fix new XREADGROUP sync logic.
2018-07-10 12:02:03 +02:00
antirez
79ffb03598
Streams: make blocking for > a truly special case.
...
To simplify the semantics of blocking for a group, this commit changes
the implementation to better match the description we provide of
conusmer groups: blocking for > will make the consumer waiting for new
elements in the group. However blocking for any other ID will always
serve the local history of the consumer.
However it must be noted that the > ID is actually an alias for the
special ID ms/seq of UINT64_MAX,UINT64_MAX.
2018-07-10 11:34:17 +02:00
dejun.xdj
0ef85da865
Streams: fix xreadgroup crash after xgroup SETID is sent.
...
For issue #5111 .
2018-07-10 16:26:13 +08:00
dejun.xdj
07ef48956d
Bugfix: PEL is incorrect when consumer is blocked using xreadgroup with NOACK option.
...
Save NOACK option into client.blockingState structure.
2018-07-09 13:40:29 +02:00
Jack Drogon
bae1d36e5d
Fix typo
2018-07-03 18:19:46 +02:00
antirez
938d879c2a
addReplySubSyntaxError() renamed to addReplySubcommandSyntaxError().
2018-07-02 18:49:34 +02:00
Salvatore Sanfilippo
c44be0ab9b
Merge pull request #4998 from itamarhaber/module_command_help
...
Module command help
2018-07-02 18:46:56 +02:00
Mustafa Paltun
d0a9dae861
Update t_stream.c
2018-06-27 16:35:30 +03:00
antirez
26ee2c4714
Streams: Change XADD MAXLEN handling of values <= 0.
...
Now a MAXLEN of 0 really does what it means: it will create a zero
entries stream. This is useful in order to make sure that the behavior
is identical to XTRIM, that must be able to reduce the stream to zero
elements when MAXLEN is given.
Also now MAXLEN with a count < 0 will return an error.
2018-06-18 10:05:21 +02:00
antirez
be1fcf16ae
XADD MAXLEN should return an error for values < 0.
2018-06-17 10:44:01 +02:00
antirez
e9685766d7
Streams: generate a few additional events.
...
Currently it does not look it's sensible to generate events for streams
consumer groups modification, being them metadata, however at least for
key-level events, like the creation or removal of a consumer group, I
added a few events here and there. Later we can evaluate if it makes
sense to add more. From the POV instead of WAIT (in Redis transaciton)
and signaling the key as modified, it looks like that the transaction
should not fail when a stream is modified, so no calls are made in
consumer groups related functions to signalModifiedKey().
2018-06-12 18:11:15 +02:00
antirez
0bab38c5c4
Streams: improve type correctness in t_stream.c.
2018-06-12 14:12:53 +02:00
Itamar Haber
4ae6aeefa4
Applies addReplySubSyntaxError to stream commands
2018-06-12 14:52:50 +03:00
antirez
28cd9e9c1f
Fix XGROUP help missing space.
2018-06-12 13:20:46 +02:00
antirez
2075172bec
Streams: fix backward iteration when entry is not flagged SAMEFIELD.
...
See issue #5006 . The comment in the code was also wrong and
was rectified as well.
2018-06-12 10:22:49 +02:00
Salvatore Sanfilippo
877ef820f7
Merge pull request #5007 from leonchen83/patch-2
...
fix typo issue #5005
2018-06-12 09:28:26 +02:00
antirez
524107d18c
Streams: increment dirty counter for XGROUP SETID/DESTROY.
...
See issue #5005 comments.
2018-06-12 09:27:40 +02:00
Baoyi Chen
243b3d262a
fix typo
...
fix [#5005 ](https://github.com/antirez/redis/issues/5005 )
2018-06-12 08:52:18 +08:00
Salvatore Sanfilippo
44a7d836b1
Merge pull request #5002 from soloestoy/streams-read-or-write
...
Streams: lookupKey[Read->Write]OrReply in xdel and xtrim
2018-06-11 16:33:10 +02:00