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
antirez
20bc183ef8
CG: fix parsing in XREADGROUP and streamLookupCG() NULL check.
2018-03-15 12:54:10 +01:00
antirez
d293a8a11e
CG: XGROUPREAD group option parsing and groups lookup.
2018-03-15 12:54:10 +01:00
antirez
7dba47a535
CG: fix raxFind() retval check in streamCreateCG().
2018-03-15 12:54:10 +01:00
antirez
2c348dafd0
CG: data structures design + XGROUP CREATE implementation.
2018-03-15 12:54:10 +01:00
antirez
4ee8d1377f
Stream: update the listpack pointer in streamTrimByLength().
2018-03-01 17:26:02 +01:00
antirez
3e0767209a
Streams: fix a few type mismatches in t_stream.c.
2017-12-04 11:59:15 +01:00
antirez
e021e37571
Streams: fix lp-count field for non-same-fields entries.
2017-12-01 10:24:25 +01:00
antirez
8be81febcf
Streams: XRANGE REV option -> XREVRANGE command.
2017-12-01 10:24:25 +01:00
antirez
326b8dbb83
Streams: fix reverse iterator discarding of items out of range.
2017-12-01 10:24:25 +01:00
antirez
f0bf5710cc
Streams: fix reverse iteration next node jumping.
2017-12-01 10:24:25 +01:00
antirez
009c14e944
Streams: state machine for reverse iteration WIP 1.
2017-12-01 10:24:25 +01:00
antirez
effaf79518
Streams: augment stream entries to allow backward scanning.
2017-12-01 10:24:25 +01:00
antirez
ddf9ccefd2
Streams: fix COUNT parsing, issue #4433 .
2017-12-01 10:24:24 +01:00
antirez
6808443d33
Streams: move ID ms/seq separator from '.' to '-'
...
After checking with the community via Twitter (here:
https://twitter.com/antirez/status/915130876861788161 ) the verdict was to
use ":". However I later realized, after users lamented the fact that
it's hard to copy IDs just with double click, that this was the reason
why I moved to "." in the first instance. Fortunately "-", that was the
other option with most votes, also gets selected with double click on
most terminal applications on Linux and MacOS.
So my reasoning was:
1) We can't retain "." because it's actually confusing to newcomers, it
looks like a floating number, people may be tricked into thinking they
can order IDs numerically as floats.
2) Moving to a double-click-to-select format is much better. People will
work with such IDs for long time when coding / debugging. Why making now
a choice that will impact this for the next years?
The only other viable option was "-", and that's what I did. Thanks.
2017-12-01 10:24:24 +01:00
antirez
bcb6900b9f
Streams: fix XADD + MAXLEN propagation due to var shadowing.
...
Clang should be more prone to return warnings by default when there is
same-var-name shadowing. GCC does this and can avoid bugs like that.
2017-12-01 10:24:24 +01:00
antirez
b577ac28d1
Streams: fix memory leak in streamTrimByLength().
2017-12-01 10:24:24 +01:00
antirez
6ad0d48cf8
Streams: fix streamTrimByLength() standalone items skipping.
2017-12-01 10:24:24 +01:00
antirez
350768d822
Streams: XADD MAXLEN implementation.
...
The core of this change is the implementation of stream trimming, and
the resulting MAXLEN option of XADD as a trivial result of having
trimming functionalities. MAXLEN already works but in order to be more
efficient listpack GC should be implemented, currently marked as a TODO
item inside the comments.
2017-12-01 10:24:24 +01:00