417 Commits

Author SHA1 Message Date
antirez
2e0f4eb757 XGROUP CREATE: MKSTREAM option for automatic stream creation. 2018-10-17 11:27:27 +02:00
antirez
ea78a1db32 XSETID: accept IDs based on last entry.
Related to #5426.
2018-10-16 16:46:17 +02:00
antirez
03e2232857 XSETID: accept IDs based on last entry.
Related to #5426.
2018-10-16 16:46:17 +02:00
antirez
e3446fea9e Streams: XSTREAM SETID -> XSETID.
Keep vanilla stream commands at toplevel, see #5426.
2018-10-16 13:17:14 +02:00
antirez
2093b42879 Streams: XSTREAM SETID -> XSETID.
Keep vanilla stream commands at toplevel, see #5426.
2018-10-16 13:17:14 +02:00
Salvatore Sanfilippo
af09df08d7
Merge pull request #5426 from soloestoy/feature-xstream
Bugfix data inconsistency after aof rewrite, and add XSTREAM command.
2018-10-16 13:10:36 +02:00
Salvatore Sanfilippo
060cd5c941 Merge pull request #5426 from soloestoy/feature-xstream
Bugfix data inconsistency after aof rewrite, and add XSTREAM command.
2018-10-16 13:10:36 +02:00
antirez
3640e029d6 Make comment about nack->consumer test for minidle more obvious.
Related to #5437.
2018-10-15 12:01:17 +02:00
antirez
71d6760f48 Make comment about nack->consumer test for minidle more obvious.
Related to #5437.
2018-10-15 12:01:17 +02:00
antirez
0b1784b188 Streams: use propagate_last_id itself as streamPropagateGroupID trigger.
Avoid storing the dirty value. See #5437.
2018-10-15 11:52:24 +02:00
antirez
b061b05d5f Streams: use propagate_last_id itself as streamPropagateGroupID trigger.
Avoid storing the dirty value. See #5437.
2018-10-15 11:52:24 +02:00
antirez
820b1e6e7d Streams: better naming: lastid_updated -> propagate_last_id.
See #5437 but also I updated a previous usage of the same var name.
2018-10-15 11:50:18 +02:00
antirez
9372eddb95 Streams: better naming: lastid_updated -> propagate_last_id.
See #5437 but also I updated a previous usage of the same var name.
2018-10-15 11:50:18 +02:00
zhaozhao.zz
5cc0522303 Streams: panic if streamID invalid after check, should not be possible. 2018-10-11 21:46:47 +08:00
zhaozhao.zz
cae5cb86bc Streams: panic if streamID invalid after check, should not be possible. 2018-10-11 21:46:47 +08:00
zhaozhao.zz
08ae522ff9 Streams: propagate lastid in XCLAIM when it has effect 2018-10-11 21:44:20 +08:00
zhaozhao.zz
df4099c0d2 Streams: propagate lastid in XCLAIM when it has effect 2018-10-11 21:44:20 +08:00
zhaozhao.zz
183ef7ae9b Streams: XCLAIM ignore minidle if NACK is created by FORCE
Because the NACK->consumer is NULL, if idletime < minidle
the NACK does not belong to any consumer, then redis will crash
in XPENDING.
2018-10-11 21:20:49 +08:00
zhaozhao.zz
929e39d1f5 Streams: XCLAIM ignore minidle if NACK is created by FORCE
Because the NACK->consumer is NULL, if idletime < minidle
the NACK does not belong to any consumer, then redis will crash
in XPENDING.
2018-10-11 21:20:49 +08:00
zhaozhao.zz
4dc48a0d11 Streams: bugfix XCLAIM should propagate group name not consumer name 2018-10-11 21:12:09 +08:00
zhaozhao.zz
fe8a6c4fba Streams: bugfix XCLAIM should propagate group name not consumer name 2018-10-11 21:12:09 +08:00
antirez
c9d9ae7baa Fix propagation of consumer groups last ID.
Issue #5433.
2018-10-10 12:51:02 +02:00
antirez
599e872fba Fix propagation of consumer groups last ID.
Issue #5433.
2018-10-10 12:51:02 +02:00
zhaozhao.zz
480e299436 Streams: rewrite id in XSTREAM CREATE * 2018-10-09 16:22:30 +08:00
zhaozhao.zz
197e36df46 Streams: rewrite id in XSTREAM CREATE * 2018-10-09 16:22:30 +08:00
zhaozhao.zz
ec511fa709 Streams: add a new command XTREAM
XSTREAM CREATE <key> <id or *> -- Create a new empty stream.
XSTREAM SETID <key> <id or $>  -- Set the current stream ID.
2018-10-09 13:11:04 +08:00
zhaozhao.zz
0a968cc348 Streams: add a new command XTREAM
XSTREAM CREATE <key> <id or *> -- Create a new empty stream.
XSTREAM SETID <key> <id or $>  -- Set the current stream ID.
2018-10-09 13:11:04 +08:00
antirez
3e78344d87 Refactoring of XADD / XTRIM MAXLEN rewriting.
See #5141.
2018-10-08 12:05:22 +02:00
antirez
65598e3f22 Refactoring of XADD / XTRIM MAXLEN rewriting.
See #5141.
2018-10-08 12:05:22 +02:00
Salvatore Sanfilippo
e5f1de1448
Merge pull request #5141 from soloestoy/fix-xtrim-inconsistency
Fix XTRIM and XADD with MAXLEN inconsistency
2018-10-08 12:00:00 +02:00
Salvatore Sanfilippo
f654899b7f Merge pull request #5141 from soloestoy/fix-xtrim-inconsistency
Fix XTRIM and XADD with MAXLEN inconsistency
2018-10-08 12:00:00 +02:00
antirez
68c0e6e331 xclaimCommand(): fix comment typos. 2018-10-04 17:34:06 +02:00
antirez
511e94cabf xclaimCommand(): fix comment typos. 2018-10-04 17:34:06 +02:00
antirez
32e0d2376f streamAppendItem(): Update the radix tree pointer only if changed. 2018-10-02 19:45:33 +02:00
antirez
de25d81b21 streamAppendItem(): Update the radix tree pointer only if changed. 2018-10-02 19:45:33 +02:00
antirez
c7c3b23787 streamIteratorRemoveEntry(): set back lp only if pointer changed.
Most of the times the pointer will remain the same since integers of
similar size don't take more space in listpacks.

Related to #5210.
2018-10-02 16:20:40 +02:00
antirez
9179b87231 streamIteratorRemoveEntry(): set back lp only if pointer changed.
Most of the times the pointer will remain the same since integers of
similar size don't take more space in listpacks.

Related to #5210.
2018-10-02 16:20:40 +02:00
Salvatore Sanfilippo
9fe7cd8f14
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
Salvatore Sanfilippo
132e115d29 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
9e0e5ccbf4 Fix XINFO comment for consistency. 2018-10-01 11:38:58 +02:00
antirez
241e2e938d Fix XINFO comment for consistency. 2018-10-01 11:38:58 +02:00
Guy Korland
8b87876094
add missing argument to function doc 2018-09-21 02:46:31 +03:00
Guy Korland
1c32aebf8c add missing argument to function doc 2018-09-21 02:46:31 +03:00
Sascha Roland
c1e9186f06 #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
Sascha Roland
24fe102997 #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
a3a1460525 Streams: update listpack with new pointer in XDEL 2018-08-04 01:06:53 +08:00
zhaozhao.zz
594d3b9023 Streams: update listpack with new pointer in XDEL 2018-08-04 01:06:53 +08:00
Salvatore Sanfilippo
39c70e728b
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
Salvatore Sanfilippo
4898e66aff 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
fe56c67405 Fix stream command paras 2018-08-03 19:01:15 +08:00