summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2020-04-24 10:13:20 +0200
committerantirez <antirez@gmail.com>2020-04-24 10:13:20 +0200
commit57a0c9c98d3bb966d6191fd1657df010cfe060fb (patch)
tree591946420e8ff27ce103eecef44d086a9d377ad3 /src
parent72f07519054d3d565f3538573daaca9bca121297 (diff)
downloadredis-57a0c9c98d3bb966d6191fd1657df010cfe060fb.tar.gz
Also use propagate() in streamPropagateGroupID().
Diffstat (limited to 'src')
-rw-r--r--src/t_stream.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/t_stream.c b/src/t_stream.c
index 596d8ad0d..758db637e 100644
--- a/src/t_stream.c
+++ b/src/t_stream.c
@@ -848,6 +848,11 @@ void streamPropagateXCLAIM(client *c, robj *key, streamCG *group, robj *groupnam
argv[11] = createStringObject("JUSTID",6);
argv[12] = createStringObject("LASTID",6);
argv[13] = createObjectFromStreamID(&group->last_id);
+
+ /* We use progagate() because this code path is not always called from
+ * the command execution context. Moreover this will just alter the
+ * consumer group state, and we don't need MULTI/EXEC wrapping because
+ * there is no message state cross-message atomicity required. */
propagate(server.xclaimCommand,c->db->id,argv,14,PROPAGATE_AOF|PROPAGATE_REPL);
decrRefCount(argv[0]);
decrRefCount(argv[3]);
@@ -875,7 +880,12 @@ void streamPropagateGroupID(client *c, robj *key, streamCG *group, robj *groupna
argv[2] = key;
argv[3] = groupname;
argv[4] = createObjectFromStreamID(&group->last_id);
- alsoPropagate(server.xgroupCommand,c->db->id,argv,5,PROPAGATE_AOF|PROPAGATE_REPL);
+
+ /* We use progagate() because this code path is not always called from
+ * the command execution context. Moreover this will just alter the
+ * consumer group state, and we don't need MULTI/EXEC wrapping because
+ * there is no message state cross-message atomicity required. */
+ propagate(server.xgroupCommand,c->db->id,argv,5,PROPAGATE_AOF|PROPAGATE_REPL);
decrRefCount(argv[0]);
decrRefCount(argv[1]);
decrRefCount(argv[4]);