The test partitions node1 and node2 on the interserver port with
`iptables -j DROP` 10 times while inserting 100 rows. A node2 part fetch
that reuses a pooled keep-alive connection sends its request into the
DROP and waits on TCP retransmission backoff (cumulative ~6.2, 12.6,
25.4 s from a 200 ms RTO), so it can complete up to ~13 s after the last
heal, inside the 30 s fetch receive timeout. GET_PART entries for the
covering merged parts wait behind it, so one stalled fetch hides dozens
of rows. The old `assert_eq_with_retry` polled for only ~11.3 s after
the heal (20 x 0.5 s), which made the test fail with '100' != '48' on
master (Integration tests (arm_binary, 2/4), b4901fe6ac): in that
job's node2 system.part_log six fetches took 6.4-26.5 s, all with
HTTPConnectionsReused = 1, and the last one finished 0.5 s after the
last poll.
Run SYSTEM SYNC REPLICA on node2 (it pulls the log and waits for every
entry, including all 100 GET_PART entries) with a 120 s client timeout,
then assert the exact count.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The `include_from` server setting used to fall back to `/etc/metrika.xml`
whenever that file existed. This is surprising: a file outside the ClickHouse
configuration directory, with unrelated access rights and a name that has
nothing to do with ClickHouse, could silently supply configuration
substitutions. Most users do not know the file is consulted at all.
Now `include_from` is empty by default and substitutions are only read from
the path it explicitly names. The fallback is removed from the server config
processor, from the users' configuration (access storages), from Keeper, and
from disks created by SQL.
Closes: https://github.com/ClickHouse/ClickHouse/issues/102836
At first, there was no such amount of clusters in dist config, they
added when someone need to write some new cluster for tests.
So let's move them to the clusters.xml that is deployed only for tests,
and leave only default cluster.
And cleanup also some configs that had been copied from dist config in
the repo (about test_config_* integration tests, this should be OK,
since there are more_clusters.xml as well, that covers additional
cases).
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
- changed config.xml/yaml files used by CH's own internal tests which
are (hopefully) not sensitive to mark_cache_size being set or not
- further occurrences exist but changing them seems a bad idea (e.g.
because they are in customer-provided data)
This PR formats all the `*.py` files found under the `tests/integration`
folder. It also reorders the imports and cleans up a bunch of unused
imports.
The formatting also takes care of other things like wrapping lines and
fixing spaces and indents such that the tests look more readable.