antirez
49841a54db
Fix merge errors.
...
For some reason I made a merge fiasco between 5.0 and unstable.
This fixes the error introduced by merging unstable.
2018-07-23 18:36:54 +02:00
antirez
77a7ec7200
Merge branch 'unstable' into 5.0 branch
2018-07-23 18:29:33 +02:00
antirez
6201f7b4e0
Streams: better error when $ is given with XREADGROUP.
2018-07-17 17:54:10 +02:00
Salvatore Sanfilippo
4bff45c7a6
Merge pull request #5136 from 0xtonyxia/fix-xread-id-parse
...
Fix xreadgroup with '$' ID.
2018-07-17 17:50:31 +02:00
dejun.xdj
846cf12ae5
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
6501b6bb6d
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
9fbd49bbaf
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
73306c6fed
Streams: correctly propagate xdel if needed
2018-07-16 20:48:07 +08:00
antirez
103c5a1a3c
Add a few comments to streamIteratorRemoveEntry().
2018-07-16 12:41:55 +02:00
Salvatore Sanfilippo
a317f55d25
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
185e0d9cd8
Modify XINFO field from last-id to last-generated-id.
...
Related to #5129 .
2018-07-16 12:25:26 +02:00
zhaozhao.zz
c9324f81a2
Streams: free lp if all elements are deleted
2018-07-16 15:57:41 +08:00
zhaozhao.zz
b4ba5ac840
Streams: show last id for streams and groups
2018-07-16 13:24:54 +08:00
dejun.xdj
0484dbcf68
Streams: using streamCompareID() instead of direct compare.
2018-07-14 20:34:06 +08:00
antirez
b6260a0270
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
a7c180e559
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
bf4def0fbc
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
0420c3276f
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2018-07-10 12:06:44 +02:00
antirez
a8c1bb310e
Streams: fix new XREADGROUP sync logic.
2018-07-10 12:02:03 +02:00
antirez
1a02b5f6ee
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
3f8a3efe5f
Streams: fix xreadgroup crash after xgroup SETID is sent.
...
For issue #5111 .
2018-07-10 16:26:13 +08:00
dejun.xdj
61f12973f7
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
93238575f7
Fix typo
2018-07-03 18:19:46 +02:00
antirez
2edcafb35d
addReplySubSyntaxError() renamed to addReplySubcommandSyntaxError().
2018-07-02 18:49:34 +02:00
Salvatore Sanfilippo
bc6a004588
Merge pull request #4998 from itamarhaber/module_command_help
...
Module command help
2018-07-02 18:46:56 +02:00
Mustafa Paltun
010dc172d4
Update t_stream.c
2018-06-27 16:35:30 +03:00
antirez
62f9ac6f43
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
79a1c19ac2
XADD MAXLEN should return an error for values < 0.
2018-06-17 10:44:01 +02:00
antirez
af7069627e
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-13 13:26:12 +02:00
antirez
574017b7d2
Streams: improve type correctness in t_stream.c.
2018-06-13 13:26:12 +02:00
antirez
cd2b5a79ff
Fix XGROUP help missing space.
2018-06-13 13:26:12 +02:00
Baoyi Chen
8246a38e83
fix typo
...
fix [#5005 ](https://github.com/antirez/redis/issues/5005 )
2018-06-13 13:26:12 +02:00
antirez
6b8a24a665
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
4774d61691
Streams: improve type correctness in t_stream.c.
2018-06-12 14:12:53 +02:00
Itamar Haber
6b675b9525
Applies addReplySubSyntaxError to stream commands
2018-06-12 14:52:50 +03:00
antirez
bcc42028c1
Fix XGROUP help missing space.
2018-06-12 13:20:46 +02:00
antirez
20bc3786c0
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 13:15:53 +02:00
antirez
2cadef46f7
Streams: increment dirty counter for XGROUP SETID/DESTROY.
...
See issue #5005 comments.
2018-06-12 13:15:53 +02:00
zhaozhao.zz
28e0ca5a8c
Streams: checkType for xread & xinfo
2018-06-12 13:15:52 +02:00
zhaozhao.zz
9d2b1f294d
Streams: lookupKey[Read->Write]OrReply in xdel and xtrim
2018-06-12 13:15:52 +02:00
michael-grunder
3d4ad250cd
Abort in XGROUP if the key is not a stream
2018-06-12 13:15:52 +02:00
antirez
eb26a8174a
Typo: entires -> entries in several places.
2018-06-12 13:15:13 +02:00
antirez
b16e5432b6
Streams: max node limits only checked if non zero.
2018-06-12 13:15:13 +02:00
antirez
d01af7abe4
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-12 13:15:13 +02:00
michael-grunder
3ddc537605
Return early in XPENDING if sent a nonexistent consumer group.
2018-06-12 13:15:13 +02:00
antirez
7cc1312789
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
82661ba329
Merge pull request #5007 from leonchen83/patch-2
...
fix typo issue #5005
2018-06-12 09:28:26 +02:00
antirez
923e63e5ec
Streams: increment dirty counter for XGROUP SETID/DESTROY.
...
See issue #5005 comments.
2018-06-12 09:27:40 +02:00
Baoyi Chen
fac3e8aab5
fix typo
...
fix [#5005 ](https://github.com/antirez/redis/issues/5005 )
2018-06-12 08:52:18 +08:00
Salvatore Sanfilippo
5db262b623
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