Itamar Haber
b404783fea
Corrects inline documentation of syntax
2018-10-17 16:13:55 +03:00
antirez
333a39dc33
Fix conditional in XGROUP.
2018-10-17 13:00:35 +02:00
antirez
7707bd7bf3
Fix XGROUP CREATE MKSTREAM handling of .
2018-10-17 12:10:52 +02:00
antirez
a4a03d8df2
Process MKSTREAM option of XGROUP CREATE at a later time.
...
This avoids issues with having to replicate a command that produced
errors.
2018-10-17 12:04:06 +02:00
antirez
2e0f4eb757
XGROUP CREATE: MKSTREAM option for automatic stream creation.
2018-10-17 11:27:27 +02:00
antirez
03e2232857
XSETID: accept IDs based on last entry.
...
Related to #5426 .
2018-10-16 16:46:17 +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
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
71d6760f48
Make comment about nack->consumer test for minidle more obvious.
...
Related to #5437 .
2018-10-15 12:01:17 +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
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
cae5cb86bc
Streams: panic if streamID invalid after check, should not be possible.
2018-10-11 21:46:47 +08:00
zhaozhao.zz
df4099c0d2
Streams: propagate lastid in XCLAIM when it has effect
2018-10-11 21:44:20 +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
fe8a6c4fba
Streams: bugfix XCLAIM should propagate group name not consumer name
2018-10-11 21:12:09 +08:00
antirez
599e872fba
Fix propagation of consumer groups last ID.
...
Issue #5433 .
2018-10-10 12:51:02 +02:00
zhaozhao.zz
197e36df46
Streams: rewrite id in XSTREAM CREATE *
2018-10-09 16:22:30 +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
65598e3f22
Refactoring of XADD / XTRIM MAXLEN rewriting.
...
See #5141 .
2018-10-08 12:05:22 +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
511e94cabf
xclaimCommand(): fix comment typos.
2018-10-04 17:34:06 +02:00
antirez
de25d81b21
streamAppendItem(): Update the radix tree pointer only if changed.
2018-10-02 19:45:33 +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
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
241e2e938d
Fix XINFO comment for consistency.
2018-10-01 11:38:58 +02:00
Guy Korland
1c32aebf8c
add missing argument to function doc
2018-09-21 02:46:31 +03: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
594d3b9023
Streams: update listpack with new pointer in XDEL
2018-08-04 01:06:53 +08: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
82d4d8020f
Fix stream command paras
2018-08-03 19:01:15 +08:00
zhaozhao.zz
7a6234405c
Streams: propagate specified MAXLEN instead of approximated
...
Slaves and rebooting redis may have different radix tree struct,
by different stream* config options. So propagating approximated
MAXLEN to AOF/slaves may lead to date inconsistency.
2018-08-01 10:34:12 +08:00
zhaozhao.zz
faaf2dd356
Streams: reset approx_maxlen in every maxlen loop
2018-08-01 10:31:27 +08:00
zhaozhao.zz
aa428375b8
Streams: XTRIM will return an error if MAXLEN with a count < 0
2018-08-01 10:31:27 +08:00
zhaozhao.zz
97716ce543
Streams: propagate original MAXLEN argument in XADD context
...
If we rewrite the MAXLEN argument as zero when no trimming
was performed, date between master and slave and aof will
be inconsistent, because `xtrim maxlen 0` means delete all
entries in stream.
2018-08-01 10:31:27 +08:00
antirez
ac0bab8498
Streams IDs parsing refactoring.
...
Related to #5184 .
2018-07-31 18:08:52 +02:00
dejun.xdj
8b6a07b7ba
Streams: rearrange the usage of '-' and '+' IDs in stream commands.
2018-07-30 21:33:01 +08:00
dejun.xdj
26f66c4953
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
da378a1d07
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
372f424399
Streams: fix xdel memory leak
2018-07-25 00:06:27 +08:00
antirez
88ec961edf
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
8e01dbe90b
Streams: skip master fileds only when we are going forward in streamIteratorGetID
2018-07-22 17:52:09 +08:00
dejun.xdj
950bff839f
Streams: ID of xclaim command starts from the sixth argument.
2018-07-19 20:48:08 +08:00
antirez
cc69607936
Streams: better error when $ is given with XREADGROUP.
2018-07-17 17:54:10 +02:00
Salvatore Sanfilippo
7fd0720ea1
Merge pull request #5136 from 0xtonyxia/fix-xread-id-parse
...
Fix xreadgroup with '$' ID.
2018-07-17 17:50:31 +02:00
dejun.xdj
5b33aee802
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
6eb1f8add6
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
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