Repository navigation
fix(linux): start the ClickHouse fixture without a blind HTTP wait - #3426
Merged
Merged
Conversation
All 12 CI startup timeouts in 14 runs used the full timeout, each in a multi-thread test, while testcontainers polled /ping with no per-request timeout. The fixture now creates the database over HTTP in bounded attempts, so the server starts once and a stuck attempt is retried.
The server now also logs to the console. A start that fails says why: container exited or no answer by the deadline, the last reply, the docker state with exit code and OOM kill, and the last log lines.
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.
Why
The ClickHouse docker job keeps failing on Linux PRs with
container is not ready: container startup timeout. A start either answers within about 4 s or hangs for the whole timeout, and only in the multi-thread suites. Raising the timeout from 60 s to 180 s only made the failure slower. The wait polled/pingwith no per-request timeout and never checked whether the container was still running.CLICKHOUSE_DBalso made the image start, stop and restart the server before it answered.Change
CLICKHOUSE_DB. Readiness is aCREATE DATABASE IF NOT EXISTS tableproover HTTP, each attempt capped at 5 s, retried within a 60 s deadline.Verified
A new docker test checks the server starts once; it fails on the old fixture (2 starts). The full ClickHouse docker suite passed 8 local runs. Median start went from 3.4 s to 1.0 s.
Not in this PR