From cbc331be7456c324ff1f8cc4863fd7051ebf29ac Mon Sep 17 00:00:00 2001 From: John Sully Date: Tue, 12 Jan 2021 00:29:07 +0000 Subject: [PATCH] Fix intermittent module test failure, resizing the repl backlog is not good enough to clear the backlog Former-commit-id: d50e4bb8193a349eb3295a53e3111e764676ddcf --- src/debug.cpp | 7 +++++++ tests/unit/moduleapi/testrdb.tcl | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/debug.cpp b/src/debug.cpp index c51ff0673..4977f59df 100644 --- a/src/debug.cpp +++ b/src/debug.cpp @@ -829,6 +829,13 @@ NULL c->flags &= ~(CLIENT_MASTER | CLIENT_MASTER_FORCE_REPLY); } addReply(c, shared.ok); + } else if (!strcasecmp(szFromObj(c->argv[1]),"truncate-repl-backlog") && c->argc == 2) { + g_pserver->repl_backlog_idx = 0; + g_pserver->repl_backlog_off = g_pserver->master_repl_offset+1; + g_pserver->repl_backlog_histlen = 0; + if (g_pserver->repl_batch_idxStart >= 0) g_pserver->repl_batch_idxStart = -1; + if (g_pserver->repl_batch_offStart >= 0) g_pserver->repl_batch_offStart = -1; + addReply(c, shared.ok); } else if (!strcasecmp(szFromObj(c->argv[1]),"config-rewrite-force-all") && c->argc == 2) { if (rewriteConfig(cserver.configfile, 1) == -1) diff --git a/tests/unit/moduleapi/testrdb.tcl b/tests/unit/moduleapi/testrdb.tcl index 2298a73c5..9b5d8fdaf 100644 --- a/tests/unit/moduleapi/testrdb.tcl +++ b/tests/unit/moduleapi/testrdb.tcl @@ -96,7 +96,7 @@ tags "modules" { $master client kill type replica $master set asdf asdf # the side effect of resizing the backlog is that it is flushed (16k is the min size) - $master config set repl-backlog-size [expr {16384 + $i}] + $master debug truncate-repl-backlog $master exec } # wait for loading to stop (fail)