summaryrefslogtreecommitdiff
path: root/tests/instances.tcl
diff options
context:
space:
mode:
authorOran Agra <oran@redislabs.com>2021-10-28 12:16:27 +0300
committerGitHub <noreply@github.com>2021-10-28 12:16:27 +0300
commit22a778c8805ed4f5f3c19c0bfe9f5483de73614f (patch)
tree6bb991847dbed7ed576d1dba9c234adcb226bfb8 /tests/instances.tcl
parentb7afac6bc24548799b945d2d8e3d8b72904272d8 (diff)
downloadredis-22a778c8805ed4f5f3c19c0bfe9f5483de73614f.tar.gz
fix failing cluster tests (#9695)
When stopping an instance in the cluster tests, disable appendonly first, so that SIGTERM won't be ignored. Recently in #9679 i change the test infra to use SIGSEGV to kill servers that refuse the SIGTERM rather than do SIGKILL directly. This surfaced an issue that i've added in #7725 which changed SIGKILL to SIGTERM (to resolve valgrind issues). So the current situation in the past months was that sometimes servers refused the SIGTERM and waited 10 seconds for the SIGKILL, and this commit resolves that (faster termination).
Diffstat (limited to 'tests/instances.tcl')
-rw-r--r--tests/instances.tcl5
1 files changed, 4 insertions, 1 deletions
diff --git a/tests/instances.tcl b/tests/instances.tcl
index 22d3bc475..5f57b9ded 100644
--- a/tests/instances.tcl
+++ b/tests/instances.tcl
@@ -583,7 +583,7 @@ proc get_instance_id_by_port {type port} {
fail "Instance $type port $port not found."
}
-# Kill an instance of the specified type/id with SIGKILL.
+# Kill an instance of the specified type/id with SIGTERM.
# This function will mark the instance PID as -1 to remember that this instance
# is no longer running and will remove its PID from the list of pids that
# we kill at cleanup.
@@ -597,6 +597,9 @@ proc kill_instance {type id} {
error "You tried to kill $type $id twice."
}
+ # stop appendonly so that the instance won't refuse to go down
+ R $id config set appendonly no
+
stop_instance $pid
set_instance_attrib $type $id pid -1
set_instance_attrib $type $id link you_tried_to_talk_with_killed_instance