ci: run the ClickHouse DBMS tests with synchronous mutations - #19
Open
alexey-milovidov wants to merge 1 commit into
Open
alexey-milovidov wants to merge 1 commit into
alexey-milovidov wants to merge 1 commit into
Conversation
The `DBMS Tests (ClickHouse)` job started `clickhouse/clickhouse-server:head` with no overrides, so `ALTER ... DELETE` / `UPDATE` ran asynchronously. When such a mutation finishes between the two reads of one TLP check, the oracle reports a mismatch that is only a race, e.g. `SELECT * FROM t1, t0` returns 132 rows and the partitioned query returns 0 after `ALTER TABLE t0 DELETE WHERE (-773830143) AND (2147483648)`. This made the job red on `main` on 2026-08-17, 08-27, 08-28 and 09-02 and on #18 (twice, every reproducer ending with an asynchronous `ALTER ... DELETE`). Mount the provider's own `.claude/clickhouse-config/*.xml` into the container, the same overrides the ClickHouse nightly job uses: the files with `<profiles>` (`mutations_sync = 2`, `alter_sync = 2`, `async_insert = 0`) into `users.d`, the rest into `config.d`. The step now also checks that the settings took effect, so a broken mount fails setup instead of producing flaky oracles. https://github.com/ClickHouse/sqlancer/actions/runs/35804199348 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.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.
The
DBMS Tests (ClickHouse)job has been flaky onmain: it failed on 2026-08-17, 08-27, 08-28 and 09-02, each time on a different set of TLP tests. It also failed twice on #18 (run).The cause is that the job starts
clickhouse/clickhouse-server:headwith no settings overrides, soALTER ... DELETEandALTER ... UPDATErun asynchronously. If a mutation finishes between the two reads of one TLP check, the oracle reports a mismatch that is only a race. Every reproducer from #18's two runs ends with such a mutation. For example,SELECT * FROM t1, t0returned 132 rows, then the partitioned query returned 0 afterALTER TABLE t0 DELETE WHERE (-773830143) AND (2147483648).This PR mounts the provider's own
.claude/clickhouse-config/*.xmlinto the container. These are the same overrides the ClickHouse nightlySQLancerjob uses:<profiles>(mutations_sync = 2,alter_sync = 2,async_insert = 0) go intousers.d.config.d.Each file is mounted on its own, so the directories the entrypoint writes into stay writable. The setup step now also checks that the settings took effect, so a broken mount fails setup instead of showing up later as flaky oracles.
Checked locally by running the modified step against the current
:headimage:2 2 false.ALTER TABLE t0 DELETE WHERE (-773830143) AND (2147483648)returns,count()is 0 andsystem.mutationshas no unfinished entries.Related: #18
🤖 Generated with Claude Code