Salvatore Sanfilippo
49a0d4977c
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
cdbe9d2c23
Streams: correctly propagate xdel if needed
2018-07-16 20:48:07 +08:00
antirez
df8d210c7e
Add a few comments to streamIteratorRemoveEntry().
2018-07-16 12:41:55 +02:00
Salvatore Sanfilippo
6c92429b55
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
1b9d47274a
Modify XINFO field from last-id to last-generated-id.
...
Related to #5129 .
2018-07-16 12:25:26 +02:00
zhaozhao.zz
97335c7baa
Streams: free lp if all elements are deleted
2018-07-16 15:57:41 +08:00
zhaozhao.zz
3c2425daf5
Streams: show last id for streams and groups
2018-07-16 13:24:54 +08:00
dejun.xdj
4b2b9999f0
Streams: using streamCompareID() instead of direct compare.
2018-07-14 20:34:06 +08:00
antirez
5d98cedeb1
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
eaf10517ec
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
27229d1511
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
1a5657ba73
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2018-07-10 12:06:44 +02:00
antirez
39ae0c9d43
Streams: fix new XREADGROUP sync logic.
2018-07-10 12:02:03 +02:00
antirez
a16c80b107
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
4ba944c3eb
Streams: fix xreadgroup crash after xgroup SETID is sent.
...
For issue #5111 .
2018-07-10 16:26:13 +08:00
dejun.xdj
10255ac477
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
df7bafeb44
Fix typo
2018-07-03 18:19:46 +02:00
antirez
9f30306d44
addReplySubSyntaxError() renamed to addReplySubcommandSyntaxError().
2018-07-02 18:49:34 +02:00
Salvatore Sanfilippo
e7b480369b
Merge pull request #4998 from itamarhaber/module_command_help
...
Module command help
2018-07-02 18:46:56 +02:00
Mustafa Paltun
457697f039
Update t_stream.c
2018-06-27 16:35:30 +03:00
antirez
a260633ad6
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
a6fc4dfcc6
XADD MAXLEN should return an error for values < 0.
2018-06-17 10:44:01 +02:00
antirez
2ec4d9be58
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
048815f32e
Streams: improve type correctness in t_stream.c.
2018-06-12 14:12:53 +02:00
Itamar Haber
2dbca202b7
Applies addReplySubSyntaxError to stream commands
2018-06-12 14:52:50 +03:00
antirez
41824b9b20
Fix XGROUP help missing space.
2018-06-12 13:20:46 +02:00
antirez
77c72d5e40
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
1e15565b37
Merge pull request #5007 from leonchen83/patch-2
...
fix typo issue #5005
2018-06-12 09:28:26 +02:00
antirez
2e9812bf9c
Streams: increment dirty counter for XGROUP SETID/DESTROY.
...
See issue #5005 comments.
2018-06-12 09:27:40 +02:00
Baoyi Chen
200f4e28ad
fix typo
...
fix [#5005 ](https://github.com/antirez/redis/issues/5005 )
2018-06-12 08:52:18 +08:00
Salvatore Sanfilippo
b578ab0bf4
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
Salvatore Sanfilippo
e54b49ac4c
Merge pull request #5003 from soloestoy/streams-checkType
...
Streams: checkType for xread & xinfo
2018-06-11 16:32:00 +02:00
zhaozhao.zz
83bb4a0dff
Streams: checkType for xread & xinfo
2018-06-11 01:17:52 +08:00
zhaozhao.zz
b47471880d
Streams: lookupKey[Read->Write]OrReply in xdel and xtrim
2018-06-11 00:14:17 +08:00
michael-grunder
efcc676b0b
Abort in XGROUP if the key is not a stream
2018-06-10 08:55:58 -07:00
Salvatore Sanfilippo
ac0b8125e0
Merge pull request #4977 from michael-grunder/xpending-early-return
...
Return early in XPENDING if sent a nonexistent consumer group.
2018-06-07 18:49:09 +02:00
antirez
664cfb8d6b
Typo: entires -> entries in several places.
2018-06-07 14:36:56 +02:00
antirez
80f89e0634
Streams: max node limits only checked if non zero.
2018-06-07 14:30:25 +02:00
antirez
89435af570
Streams: use non static macro node limits.
...
Also add the concept of size/items limit, instead of just having as
limit the number of bytes.
2018-06-07 14:24:49 +02:00
antirez
3406400ae0
Fix streamIteratorRemoveEntry() to update elements count.
...
Close #4989 .
2018-06-06 11:40:22 +02:00
antirez
d3b425470b
Remove XINFO <key> special form.
...
As observed by Michael Grunder this usage while practical is
inconsistent because for instance it does not work against a key called
HELP. Removed.
2018-06-05 16:34:34 +02:00
antirez
ff7cb41475
XGROUP SETID implemented + consumer groups core fixes.
...
Now that we have SETID, the inetrnals of consumer groups should be able
to handle the case of the same message delivered multiple times just
as a side effect of calling XREADGROUP. Normally this should never
happen but if the admin manually "XGROUP SETID mykey mygroup 0",
messages will get re-delivered to clients waiting for the ">" special
ID. The consumer groups internals were not able to handle the case of a
message re-delivered in this circumstances that was already assigned to
another owner.
2018-06-04 17:28:03 +02:00
antirez
226712b467
XGROUP DESTROY implemented.
2018-06-04 12:58:26 +02:00
michael-grunder
ac6bb9ff05
Return early in XPENDING if sent a nonexistent consumer group.
2018-06-02 18:22:20 -07:00
antirez
71b745b612
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2018-05-29 12:41:07 +02:00
antirez
63bbacc4ab
Streams: fix comments referring to old ID format.
2018-05-25 17:25:19 +02:00
zhaozhao.zz
3b2b5e1d1b
avoid warning in t_stream.c
2018-05-25 22:49:49 +08:00
antirez
1ea37fcf4f
Simplify XADD ID syntax error code path,.
2018-05-25 16:29:37 +02:00
Salvatore Sanfilippo
a998d21f71
Merge pull request #4832 from 0xtonyxia/fix-xadd-ID-parse
...
Bugfix: xadd command ID parse
2018-05-25 16:27:21 +02:00
antirez
8bdaeaa4c1
Avoid warning by explicitly initializing var to NULL.
2018-05-25 16:19:14 +02:00