94 Commits

Author SHA1 Message Date
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
antirez
8799e5582c CG: implement XCLAIM FORCE option. 2018-03-15 12:54:10 +01:00
antirez
0c4a8532c6 CG: XCLAIM now updates the idle time of the message. 2018-03-15 12:54:10 +01:00
antirez
bebd33993c CG: XCLAIM, use minidle and fix array len. 2018-03-15 12:54:10 +01:00
antirez
106eb6adcc CG: remove unused argument from streamReplyWithRangeFromConsumerPEL(). 2018-03-15 12:54:10 +01:00
antirez
fe9a0b9d6d Streams: fix error description for XADD when specified ID is small. 2018-03-15 12:54:10 +01:00
antirez
d3c15ef886 CG: XCLAIM initial draft. 2018-03-15 12:54:10 +01:00
antirez
8d3c0e4186 CG: More specific duplicated group error. 2018-03-15 12:54:10 +01:00
antirez
f979275a2a CG: RDB loading first implementation. 2018-03-15 12:54:10 +01:00
antirez
922b74828b CG: XPENDING should not create consumers and obey to count. 2018-03-15 12:54:10 +01:00
antirez
c139073709 CG: XPENDING with start/stop/count variant implemented. 2018-03-15 12:54:10 +01:00
antirez
a85f0fc571 CG: XPENDING without start/stop variant implemented. 2018-03-15 12:54:10 +01:00
antirez
f49cbaf84c CG: Now XREADGROUP + blocking operations work. 2018-03-15 12:54:10 +01:00
antirez
55b705689f CG: XACK should return zero when nothing is processed. 2018-03-15 12:54:10 +01:00
antirez
9b2223cebd CG: XACK implementation. 2018-03-15 12:54:10 +01:00
antirez
d82968ece2 CG: XREADGROUP can fetch data from the consumer PEL. 2018-03-15 12:54:10 +01:00
antirez
018f8a3c1d CG: first draft of streamReplyWithRangeFromConsumerPEL(). 2018-03-15 12:54:10 +01:00
antirez
391e1082a4 CG: Fix order of calls in streamReplyWithRange().
We need to check if we are going to serve the request via the PEL before
inserting a deferred array len in the client output buffer.
2018-03-15 12:54:10 +01:00
antirez
840ad8cec6 CG: creation of NACK entries in PELs. 2018-03-15 12:54:10 +01:00
antirez
28d36e3aa3 CG: fix XREADGROUP ">" special ID parsing due to missing "continue". 2018-03-15 12:54:10 +01:00
antirez
e0733ff7f8 CG: streamCompareID() + group last_id updating. 2018-03-15 12:54:10 +01:00
antirez
0f43a908f9 CG: consumer lookup + initial streamReplyWithRange() work to supprot CG. 2018-03-15 12:54:10 +01:00
antirez
23dc98ac52 CG: add & populate group+consumer in the blocking state. 2018-03-15 12:54:10 +01:00