mirror of
https://github.com/fluencelabs/redis
synced 2025-03-19 09:00:51 +00:00
Streams: use propagate_last_id itself as streamPropagateGroupID trigger.
Avoid storing the dirty value. See #5437.
This commit is contained in:
parent
820b1e6e7d
commit
0b1784b188
@ -2134,7 +2134,6 @@ void xclaimCommand(client *c) {
|
|||||||
streamConsumer *consumer = streamLookupConsumer(group,c->argv[3]->ptr,1);
|
streamConsumer *consumer = streamLookupConsumer(group,c->argv[3]->ptr,1);
|
||||||
void *arraylenptr = addDeferredMultiBulkLength(c);
|
void *arraylenptr = addDeferredMultiBulkLength(c);
|
||||||
size_t arraylen = 0;
|
size_t arraylen = 0;
|
||||||
long long dirty = server.dirty;
|
|
||||||
for (int j = 5; j <= last_id_arg; j++) {
|
for (int j = 5; j <= last_id_arg; j++) {
|
||||||
streamID id;
|
streamID id;
|
||||||
unsigned char buf[sizeof(streamID)];
|
unsigned char buf[sizeof(streamID)];
|
||||||
@ -2199,10 +2198,11 @@ void xclaimCommand(client *c) {
|
|||||||
|
|
||||||
/* Propagate this change. */
|
/* Propagate this change. */
|
||||||
streamPropagateXCLAIM(c,c->argv[1],group,c->argv[2],c->argv[j],nack);
|
streamPropagateXCLAIM(c,c->argv[1],group,c->argv[2],c->argv[j],nack);
|
||||||
|
propagate_last_id = 0; /* Will be propagated by XCLAIM itself. */
|
||||||
server.dirty++;
|
server.dirty++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (server.dirty == dirty && propagate_last_id) {
|
if (propagate_last_id) {
|
||||||
streamPropagateGroupID(c,c->argv[1],group,c->argv[2]);
|
streamPropagateGroupID(c,c->argv[1],group,c->argv[2]);
|
||||||
server.dirty++;
|
server.dirty++;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user