summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOran Agra <oran@redislabs.com>2022-11-30 22:03:23 +0200
committerOran Agra <oran@redislabs.com>2022-12-12 17:36:34 +0200
commit4a5aba16c97c1801fb35baea1f3bf7ac3f7d9ed5 (patch)
treef0f0d39dc2fe5b8e2d4246c6cde2b21b858b8090
parent7275935641fc0eecbd9cde63bb1ae5116df0b89c (diff)
downloadredis-4a5aba16c97c1801fb35baea1f3bf7ac3f7d9ed5.tar.gz
Try to fix a race in psync2 test (#11553)
This test sets the master ping interval to 1 hour, in order to avoid pings in the replicatoin stream incrementing the replication offset, however, it didn't increase the repl-timeout so on slow machines where the test took more than 60 seconds, the replicas would drop and reconnect. ``` *** [err]: PSYNC2: Partial resync after restart using RDB aux fields in tests/integration/psync2.tcl Replica didn't partial sync ``` The test would detect 4 additional partial syncs where it expects only one. (cherry picked from commit b0250b4508c9ed527fb0c885f615ae97975f3b2d)
-rw-r--r--tests/integration/psync2.tcl4
1 files changed, 4 insertions, 0 deletions
diff --git a/tests/integration/psync2.tcl b/tests/integration/psync2.tcl
index 32158e048..a258f1b83 100644
--- a/tests/integration/psync2.tcl
+++ b/tests/integration/psync2.tcl
@@ -304,6 +304,10 @@ start_server {} {
# In absence of pings, are the instances really able to have
# the exact same offset?
$R($master_id) config set repl-ping-replica-period 3600
+ for {set j 0} {$j < 5} {incr j} {
+ if {$j == $master_id} continue
+ $R($j) config set repl-timeout 10000
+ }
wait_for_condition 500 100 {
[status $R($master_id) master_repl_offset] == [status $R(0) master_repl_offset] &&
[status $R($master_id) master_repl_offset] == [status $R(1) master_repl_offset] &&