Resolve the ClickHouse config symlink in PMM-T2237 - #1180
Open
claude[bot] wants to merge 1 commit into
Open
Conversation
PMM-15309 (percona/pmm#5747) starts ClickHouse with the fixed /etc/clickhouse-server/config.xml name and repoints that symlink at the config PMM_CLICKHOUSE_CONFIG selects, so the startup log no longer names the selected config and the assertion on its file name broke. Read the path ClickHouse reports and resolve it before comparing, which holds both for builds that pass the selected config directly and for those that go through the symlink. Signed-off-by: Claude <noreply@anthropic.com> Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W7o8QCjF8zvg4QQHFvRE4D
travagliad
approved these changes
Aug 17, 2026
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.
Failures fixed (investigator)
E2E / Docker configuration tests / e2e tests: @docker-configuration(job 94467124725)e2e_tests/tests/dockerConfiguration/clickhouseConfig.test.ts:32/@docker-configuration— PMM-T2237, configpmm-server-default-clickhouse-confige2e_tests/tests/dockerConfiguration/clickhouseConfig.test.ts:32/@docker-configuration— PMM-T2237, configpmm-server-low-memory-clickhouse-confige2e_tests/tests/dockerConfiguration/clickhouseConfig.test.ts:32/@docker-configuration— PMM-T2237, configpmm-server-no-flag-clickhouse-configWhat failed
All three PMM-T2237 cases, deterministically, on all three retries each. The Playwright step itself
ends in
|| true, so the job went red one step later onlaunchable gate(
Actionable Failures | 3):Root cause — the assertion, not the product
The test read the ClickHouse startup log and expected the line to name the config
PMM_CLICKHOUSE_CONFIGselected.percona/pmm#5747 (PMM-15309, the PR this FB builds)
changes how that config is handed to ClickHouse. Server is now always started with the fixed
config.xmlname:and
pmm-managed-initrepointsconfig.xml/users.xmlat the selected config(
clickhouse.LinkClickHouseConfig), so drop-ins inconfig.d/users.dkeep working for everyconfig. The env var still does exactly what PMM-T2237 is there to check — but the startup log now
names
config.xmlfor every config, so a comparison on that file name can no longer see it.The fix
Take the path ClickHouse reports and resolve it before comparing. That holds for both shapes:
readlink -fmaintoday,PMM_CLICKHOUSE_CONFIG=low-memory/etc/clickhouse-server/low-memory-config.xml/etc/clickhouse-server/low-memory-config.xml/etc/clickhouse-server/config.xml/etc/clickhouse-server/low-memory-config.xmlNote the middle column: on
maintheconfig.xmlsymlink exists but always points atdefault-config.xmland is unused, so resolving that fixed name instead of the logged one wouldbe wrong there. Resolving the logged path is what covers both.
Not blocked on #5747 — it passes before and after that PR lands (verified below).
Verification
Reproduced and fixed against the exact FB image
perconalab/pmm-server-fb:PR-4516-99b98f1,digest
sha256:7577435e…— the same digest Launchable recorded for the failing CI run — andagainst
perconalab/pmm-server:3-dev-latestfor the pre-#5747 shape. Real Docker, Chromium151.0.7922.34 (the build CI uses), same
npx playwright test --grep "@docker-configuration"invocation:
3-dev-latest(no #5747)mainExpected substring: "default-config.xml", identical to CIThe check still discriminates, rather than passing on anything. On the FB image with
PMM_CLICKHOUSE_CONFIG=low-memory, repointing the symlink back at the default config — the shapea "PMM ignores the variable" regression would produce — resolves to
default-config.xml, whichfails the assertion:
npx tsc --noEmit, ESLint and Prettier are clean.Not covered here, and only the next real FB/nightly run confirms: the rest of the
@docker-configurationsuite under Launchable subsetting.Other failure in that run (not fixed here)
E2E / Docker configuration tests / e2e tests: @docker-configurationappears twice in that run —the check-run listing collapses both jobs under one name. The other one
(94467124622,
CodeceptJS) failed on
PMM-T2020 - Verify external clickhouse as datasource on explore page, theexternal-ClickHouse side of the same PMM-15309 change. That is already covered by open PR #1164,
so it is deliberately left alone here.
Generated by Claude Code