Repository navigation
test(cli): the activation-maintenance fixture and the drained probe end on definite events - #2592
Merged
Merged
Conversation
…nd on definite events Follow-up to #2590: three more waits that a timeout decided. cli_activation_quiesce_does_not_wait_on_bootstrap_startup: - Its participant child joined the version cohort with a 45 s deadline. It now uses UINT64_MAX, which waits for locks and answers a conflicting holder at once. - The child watched for the installer's maintenance request for at most 120 s. It now watches until a definite event: the request, an UNSAFE/IO answer, or the parent closing a new install-done pipe once its install has returned. A failed install therefore ends the watch at once instead of hanging, and a slow install is waited for instead of failing. cli_install_into_host_namespace_still_drains_host_cohort: - The "drained host stopped serving" probe was one status request with a 2 s budget, so a slow host that still served could pass as drained (a false green). It now asks through the same mute-retry rule as the positive probe: a drained host is unreachable or reports stopping at once, and a slow host that still serves is asked again until it answers. cli_scope_host_serving_within and CLI_SCOPE_HOST_DRAINED_PROBE_MS are gone. Checked by hand: with the install made to fail before it requests maintenance (an unknown option), the test ends in 3 s through the install-done pipe. Without the pipe and the old deadline it would hang; with the deadline it took 120 s. Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #2590, test code only (
tests/test_cli.c). It removes three more waits that a timeout decided.What
cli_activation_quiesce_does_not_wait_on_bootstrap_startupUINT64_MAX: waits for locks, answers a conflicting holder at oncecli_install_into_host_namespace_still_drains_host_cohortThe 2 s probe could also produce a false green: a host that still served but answered slowly looked drained.
cli_scope_host_serving_withinandCLI_SCOPE_HOST_DRAINED_PROBE_MSare removed. Both questions now go throughcli_scope_host_serving.Why the install-done pipe
Without a deadline, the participant needs a definite end for the case where the install never requests maintenance. The parent closes the pipe as soon as its install returns, success or failure.
Checked by hand with the install made to fail before the maintenance barrier (an unknown option): the test ends in 3 s through the pipe. Without the pipe and without the deadline it would hang; with the old deadline it took 120 s. With the install failing after it requested maintenance (an unusable
--dir), the test ends in 11 s through the request.Checks
daemon_version daemon_application cli, macOS ASan): 444 passed, 0 failed.make lint-ciclean.scripts/test.sh): 9,137 passed, 0 failed, 11 skipped (177 suites);cli358/0run.sh test): 8,975 passed, 0 failed, 10 skipped (173 suites);cli359/0