summaryrefslogtreecommitdiff
path: root/src/tracking.c
diff options
context:
space:
mode:
authorguybe7 <guy.benoish@redislabs.com>2022-12-20 13:21:50 +0530
committerGitHub <noreply@github.com>2022-12-20 09:51:50 +0200
commit9c7c6924a019b902996fc4b608541f475daa649d (patch)
treedbf8d847864a1a363e5e9cbb984fad82b4c491d3 /src/tracking.c
parent669688a342d5c1697c737b23f456e1750b46f0ff (diff)
downloadredis-9c7c6924a019b902996fc4b608541f475daa649d.tar.gz
Cleanup: Get rid of server.core_propagates (#11572)
1. Get rid of server.core_propagates - we can just rely on module/call nesting levels 2. Rename in_nested_call to execution_nesting and update the comment 3. Remove module_ctx_nesting (redundant, we can use execution_nesting) 4. Modify postExecutionUnitOperations according to the comment (The main purpose of this PR) 5. trackingHandlePendingKeyInvalidations: Check the nesting level inside this function
Diffstat (limited to 'src/tracking.c')
-rw-r--r--src/tracking.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/tracking.c b/src/tracking.c
index d62eb736b..ba7406e6c 100644
--- a/src/tracking.c
+++ b/src/tracking.c
@@ -415,6 +415,10 @@ void trackingInvalidateKey(client *c, robj *keyobj, int bcast) {
void trackingHandlePendingKeyInvalidations(void) {
if (!listLength(server.tracking_pending_keys)) return;
+ /* Flush pending invalidation messages only when we are not in nested call.
+ * So the messages are not interleaved with transaction response. */
+ if (server.execution_nesting) return;
+
listNode *ln;
listIter li;