diff --git a/tests/unit/tracking.tcl b/tests/unit/tracking.tcl index 9fdc4b79cd..1d1ad4044b 100644 --- a/tests/unit/tracking.tcl +++ b/tests/unit/tracking.tcl @@ -236,20 +236,14 @@ start_server {tags {"tracking network logreqres:skip"}} { } test {RESP3 Client gets tracking-redir-broken push message after cached key changed when rediretion client is terminated} { + # make sure r is working resp 3 + r HELLO 3 r CLIENT TRACKING on REDIRECT $redir_id $rd_sg SET key1 1 r GET key1 $rd_redirection QUIT assert_equal OK [$rd_redirection read] $rd_sg SET key1 2 - set MAX_TRIES 100 - set res -1 - for {set i 0} {$i <= $MAX_TRIES && $res < 0} {incr i} { - set res [lsearch -exact [r PING] "tracking-redir-broken"] - } - assert {$res >= 0} - # Consume PING reply - assert_equal PONG [r read] # Reinstantiating after QUIT set rd_redirection [valkey_deferring_client] @@ -257,6 +251,15 @@ start_server {tags {"tracking network logreqres:skip"}} { set redir_id [$rd_redirection read] $rd_redirection SUBSCRIBE __redis__:invalidate $rd_redirection read ; # Consume the SUBSCRIBE reply + + # Wait to read the tracking-redir-broken + wait_for_condition 1000 50 { + [lsearch -exact [r PING] "tracking-redir-broken"] + } else { + fail "Failed to get redirect broken indication" + } + # Consume PING reply + assert_equal PONG [r read] } test {Different clients can redirect to the same connection} {