Commit dec6fd3a authored by antirez's avatar antirez
Browse files

Regression test for #7249.

parent 3e6acc24
...@@ -107,5 +107,27 @@ start_server {tags {"tracking"}} { ...@@ -107,5 +107,27 @@ start_server {tags {"tracking"}} {
assert {$keys eq {mykey}} assert {$keys eq {mykey}}
} }
test {Tracking gets notification on tracking table key eviction} {
r CLIENT TRACKING off
r CLIENT TRACKING on REDIRECT $redir NOLOOP
r MSET key1 1 key2 2
# Let the server track the two keys for us
r MGET key1 key2
# Force the eviction of all the keys but one:
r config set tracking-table-max-keys 1
# Note that we may have other keys in the table for this client,
# since we disabled/enabled tracking multiple time with the same
# ID, and tracking does not do ID cleanups for performance reasons.
# So we check that eventually we'll receive one or the other key,
# otherwise the test will die for timeout.
while 1 {
set keys [lindex [$rd1 read] 2]
if {$keys eq {key1} || $keys eq {key2}} break
}
# We should receive an expire notification for one of
# the two keys (only one must remain)
assert {$keys eq {key1} || $keys eq {key2}}
}
$rd1 close $rd1 close
} }
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment