116 Commits

Author SHA1 Message Date
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
Salvatore Sanfilippo
9fb3560b67 Merge pull request #5003 from soloestoy/streams-checkType
Streams: checkType for xread & xinfo
2018-06-11 16:32:00 +02:00
zhaozhao.zz
d6e8bdb43e Streams: checkType for xread & xinfo 2018-06-11 01:17:52 +08:00
zhaozhao.zz
c975263fd7 Streams: lookupKey[Read->Write]OrReply in xdel and xtrim 2018-06-11 00:14:17 +08:00
michael-grunder
763bf24221 Abort in XGROUP if the key is not a stream 2018-06-10 08:55:58 -07:00
Salvatore Sanfilippo
9f5a954549 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
482a5dcefa Typo: entires -> entries in several places. 2018-06-07 14:36:56 +02:00
antirez
7e9ec104dd Streams: max node limits only checked if non zero. 2018-06-07 14:30:25 +02:00
antirez
cd2a3ea8f1 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
af566a2118 Fix streamIteratorRemoveEntry() to update elements count.
Close #4989.
2018-06-06 11:40:22 +02:00
antirez
a1e29c6531 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
ca42e42860 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
0dbc74bd00 XGROUP DESTROY implemented. 2018-06-04 12:58:26 +02:00
michael-grunder
aa71784552 Return early in XPENDING if sent a nonexistent consumer group. 2018-06-02 18:22:20 -07:00
antirez
71f1556f0e Merge branch 'unstable' of github.com:/antirez/redis into unstable 2018-05-29 12:41:07 +02:00
antirez
a40bd92df3 Streams: fix comments referring to old ID format. 2018-05-25 17:25:19 +02:00
zhaozhao.zz
04960217ad avoid warning in t_stream.c 2018-05-25 22:49:49 +08:00
antirez
d288a836f2 Simplify XADD ID syntax error code path,. 2018-05-25 16:29:37 +02:00
Salvatore Sanfilippo
af6f8eff4a Merge pull request #4832 from 0xtonyxia/fix-xadd-ID-parse
Bugfix: xadd command ID parse
2018-05-25 16:27:21 +02:00
antirez
f27e9db3a4 Avoid warning by explicitly initializing var to NULL. 2018-05-25 16:19:14 +02:00
antirez
f2bd31a1c4 Explicitly cast void pointers to char pointers for printf style logging. 2018-05-25 16:15:59 +02:00
Salvatore Sanfilippo
f30ecc4de2 Merge pull request #4831 from 0xtonyxia/fix-xadd-arity-check
Bugfix: xadd comand <field,value> arity check
2018-05-24 16:07:19 +02:00
antirez
742bf9dfca Streams: XTRIM command added. 2018-04-19 16:25:29 +02:00
antirez
82f250cace Streams: XADD, handle signaling of write in different ways. 2018-04-19 16:11:43 +02:00
antirez
74eb5443ce Streams: XDEL command. 2018-04-18 13:12:09 +02:00
antirez
2602e3c9eb Streams: higher level "delete by ID" API for streams. 2018-04-17 17:55:56 +02:00
antirez
a7f0b02fd2 Streams: iterator entry deletion abilities. 2018-04-17 17:18:00 +02:00
dejun.xdj
101d428a27 Return more accurate message when specified ID is invalid 2018-04-10 17:11:10 +08:00
dejun.xdj
7e18b1de90 Bugfix: xadd command ID parse
strictly check the string to be converted,
strtoull() in libc may not set errno to EINVAL when the string contains
invalid digits.
2018-04-10 17:05:48 +08:00
dejun.xdj
1ba2425c41 Bugfix: xadd comand <field,value> arity check
missing parenthesis causes wrong arithmetic priority.
2018-04-10 16:36:05 +08:00
charsyam
6cb9ffe279 fix memory leak for streamPropagateXCLAIM 2018-03-21 17:41:59 +09:00
antirez
bfcb910236 CG: propagate XACK by incrementing server.dirty.
This should be more than enough, even if in case of partial IDs that are
not found, we send all the IDs to the slave/AOF, but this is definitely
a corner case without bad effects if not some wasted space.
2018-03-20 17:53:45 +01:00
antirez
555f5afcdb CG: Make XINFO Great Again (and more Redis-ish).
With XINFO out of the blue I invented a new syntax for commands never
used in Redis in the past... Let's fix it and make it

        Great Again!!11one (TM)
2018-03-20 11:52:42 +01:00
antirez
1a8d739131 CG: Add JUSTID to XCLAIM propagation to reduce CPU usage. 2018-03-20 11:25:49 +01:00
antirez
80cdcef729 CG: Fix propagate() arg count in streamPropagateXCLAIM(). 2018-03-20 11:13:41 +01:00
antirez
03ad064a53 CG: XGROUP CREATE/DELCONUSMER replication. 2018-03-20 11:07:01 +01:00
antirez
d7fa510612 CG: Replication WIP 1: XREADGROUP and XCLAIM propagated as XCLAIM. 2018-03-19 18:02:19 +01:00
antirez
3234561da8 CG: XINFO STREAM. 2018-03-15 12:54:10 +01:00
antirez
1f10a99efd CG: XINFO GROUPS + output format changes.
XINFO is mainly an observability command that will be used more by
humans than computers, and even when used by computers it will be a very
low traffic command. For this reason the format was changed in order to
have field names. They'll consume some bandwidth and CPU cycles, but in
this context this is much better than having to understand what the
numbers in the output array are.
2018-03-15 12:54:10 +01:00
antirez
78bdd568a4 CG: XINFO CONSUMERS implemented. 2018-03-15 12:54:10 +01:00
antirez
0928fa5329 Streams: fix XREAD missing check for NULL object. 2018-03-15 12:54:10 +01:00
antirez
d726c9b403 CG: throw an error if XREADGROUP is used without GROUP. 2018-03-15 12:54:10 +01:00
antirez
9c7ec7e3ce CG: XGROUP DELCONSUMER implemented. 2018-03-15 12:54:10 +01:00
antirez
7401931ba6 CG: remove stale comment. XREADGROUP is now implemented. 2018-03-15 12:54:10 +01:00
antirez
15fbccb055 CG: implement RETRYCOUNT in XCLAIM. 2018-03-15 12:54:10 +01:00
antirez
a742aae422 CG: NACK created by XCLAIM FORCE must be set in global PEL. 2018-03-15 12:54:10 +01:00