summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBinbin <binloveplay1314@qq.com>2021-11-24 18:46:43 +0800
committerGitHub <noreply@github.com>2021-11-24 12:46:43 +0200
commitfb4f7be22c6f26faf3f222d1ff8d7119fd6c084e (patch)
tree67789f17708dcffdeab78f998aac769e8aee1a35
parent9273d09dd46353015406c26cd7d3826b78109a38 (diff)
downloadredis-fb4f7be22c6f26faf3f222d1ff8d7119fd6c084e.tar.gz
Wait for `asyn_loading` to stop in `short read` test (#9841)
In #9323, when `repl-diskless-load` is enabled and set to `swapdb`, if the master replication ID hasn't changed, we can load data-set asynchronously, and serving read commands during the full resync. In `diskless loading short read` test, after a loading successfully, we will wait for the loading to stop and continue the for loop. After the introduction of `async_loading`, we also need to check it. Otherwise the next loop will start too soon, may trigger a timing issue.
-rw-r--r--tests/integration/replication.tcl3
-rw-r--r--tests/unit/moduleapi/testrdb.tcl3
2 files changed, 6 insertions, 0 deletions
diff --git a/tests/integration/replication.tcl b/tests/integration/replication.tcl
index fe146932a..fe4adbe93 100644
--- a/tests/integration/replication.tcl
+++ b/tests/integration/replication.tcl
@@ -688,8 +688,11 @@ test {diskless loading short read} {
}
$master exec
}
+
# wait for loading to stop (fail)
+ # After a loading successfully, next loop will enter `async_loading`
wait_for_condition 1000 1 {
+ [s -1 async_loading] eq 0 &&
[s -1 loading] eq 0
} else {
fail "Replica didn't disconnect"
diff --git a/tests/unit/moduleapi/testrdb.tcl b/tests/unit/moduleapi/testrdb.tcl
index 33ec54e04..8d76a11bc 100644
--- a/tests/unit/moduleapi/testrdb.tcl
+++ b/tests/unit/moduleapi/testrdb.tcl
@@ -114,8 +114,11 @@ tags "modules" {
}
$master exec
}
+
# wait for loading to stop (fail)
+ # After a loading successfully, next loop will enter `async_loading`
wait_for_condition 1000 1 {
+ [s -1 async_loading] eq 0 &&
[s -1 loading] eq 0
} else {
fail "Replica didn't disconnect"