From b6b85ace57c2b158290a167b3b3be47a901fbb4a Mon Sep 17 00:00:00 2001 From: Ozan Tezcan Date: Tue, 13 May 2025 09:21:04 +0300 Subject: [PATCH] Fix flaky replication test --- tests/integration/replication-rdbchannel.tcl | 25 ++++++++------------ 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/tests/integration/replication-rdbchannel.tcl b/tests/integration/replication-rdbchannel.tcl index 5d7836bb0..f48519c1e 100644 --- a/tests/integration/replication-rdbchannel.tcl +++ b/tests/integration/replication-rdbchannel.tcl @@ -248,9 +248,8 @@ start_server {tags {"repl external:skip"}} { populate 10000 master 10000 ;# 10k keys of 10k, means 100mb $replica config set loading-process-events-interval-bytes 262144 ;# process events every 256kb of rdb or command stream - # Start write traffic writing at most 5mbps - - set load_handle [start_write_load $master_host $master_port 100 "key1" 10000 2] + # Start write traffic + set load_handle [start_write_load $master_host $master_port 100 "key1" 5000 4] set prev_used [s 0 used_memory] @@ -296,15 +295,12 @@ start_server {tags {"repl external:skip"}} { puts "peak_master_slave_buf_size $peak_master_slave_buf_size" puts "peak_replica_buf_size $peak_replica_buf_size" } - # Valgrind contribute to flakiness of this test - if {!$::valgrind} { - # memory on the master is less than 3mb (TODO: Fine tune thresholds) - assert_lessthan [expr $peak_master_used_mem - $prev_used - $backlog_size] 3000000 - assert_lessthan $peak_master_rpl_buf [expr {$backlog_size + 1000000}] - assert_lessthan $peak_master_slave_buf_size 1000000 - # buffers in the replica are more than 10mb - assert_morethan $peak_replica_buf_size 10000000 - } + # memory on the master is less than 1mb + assert_lessthan [expr $peak_master_used_mem - $prev_used - $backlog_size] 1000000 + assert_lessthan $peak_master_rpl_buf [expr {$backlog_size + 1000000}] + assert_lessthan $peak_master_slave_buf_size 1000000 + # buffers in the replica are more than 5mb + assert_morethan $peak_replica_buf_size 5000000 stop_write_load $load_handle } @@ -437,11 +433,10 @@ start_server {tags {"repl external:skip"}} { fail "Replica did not start loading" } - # Generate some traffic for backlog ~2mb + # Generate replication traffic of ~20mb to disconnect the slave on obuf limit populate 20 master 1000000 -1 - set res [wait_for_log_messages -1 {"*Client * closed * for overcoming of output buffer limits.*"} $loglines 1000 10] - set loglines [lindex $res 1] + wait_for_log_messages -1 {"*Client * closed * for overcoming of output buffer limits.*"} $loglines 1000 10 $replica config set key-load-delay 0 # Wait until replica loads RDB