Antalya 25.8: bump to 25.8.30 - #2224
Conversation
…yBuilder via incorrect string escaping
…on in JOIN ON with new logical join step
…ettings absent on 25.8 The backport of ClickHouse#104785 (ClickHouse#108444) cherry-picked the master regression test verbatim. Two of its control queries use settings that do not exist on 25.8 — `enable_join_runtime_filters` and `use_join_disjunctions_push_down` — so the test aborts with `UNKNOWN_SETTING` on 25.8. Those optimizations are absent on 25.8, so the "off" controls are redundant with the baseline anyway; drop them and their reference lines. The core fix assertions (ON-side arrayJoin ghost removed: count = 6 not 18, ARRAY-JOIN plan count = 1 not 2) and the bilateral both-side cases are kept. Verified the test passes against a locally-built 25.8 `clickhouse` binary. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…oin-test-25.8 Fix 03918 arrayJoin-join-on test on 25.8: drop query variants using settings absent on 25.8
…n cluster queries
…ing `RemoteHostFilter` for inline DDL params
…able function
…UMN and merge causing data loss (ClickHouse#80648)
…4881 Backport ClickHouse#104881 to 25.8: Use explicit flag for secondary on cluster queries
…or DataLakeCatalog
…_log for paimon*Cluster and deltaLakeS3 t…
…4785 Backport ClickHouse#104785 to 25.8: Fix duplicate `arrayJoin` execution in JOIN ON with new logical join step
…8509 Backport ClickHouse#108509 to 25.8: Match http_forbid_headers case-insensitively
The new auth_header validation rejects values not in 'HeaderName: HeaderValue' format. test_database_hms/test.py exists only on 25.8 (not master), so the original PR never updated its test_hide_sensitive_info, leaving it with an invalid auth_header. Apply the same fix as the other catalog test files. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…wo-level parallel merge
…COM_FIELD_LIST and COM_INIT_DB
…9389 Backport ClickHouse#109389 to 25.8: Fix TSan data race in uniqExact two-level parallel merge
…4822 Backport ClickHouse#104822 to 25.8: Fix race between ALTER RENAME COLUMN and merge causing data loss (ClickHouse#80648)
`used_privileges` (and `missing_privileges`) rows in `system.query_log`
could contain privilege strings from completely unrelated earlier queries
of a different user, database, and session that had finished much earlier.
`Context::makeQueryContext` seeded the new query's `QueryPrivilegesInfo`
by copying the contents of the parent context's object:
query_privileges_info = std::make_shared<QueryPrivilegesInfo>(*query_privileges_info);
The parent is the session (or global) context. Session contexts are
created via `createCopy(global_context)` and never call `makeQueryContext`,
so the session and global contexts share a single `QueryPrivilegesInfo`
object. Any privilege string that ever landed in that shared object — and
partial state observed when the copy raced a concurrent writer — leaked
into the `used_privileges` of unrelated later queries. The one-directional
spread and the 1-2 partial entries per polluted row match a copy-vs-write
race against this shared object.
A new query has checked no privileges yet, so there is nothing legitimate
to inherit. Seed every query with an empty `QueryPrivilegesInfo`. Child
contexts created via `createCopy` still share the query's object, so
sub-operations correctly contribute to the same query's `used_privileges`.
Added a deterministic unit test `MakeQueryContextDoesNotInheritPrivileges`
that pollutes a parent context's privileges, derives a query context, and
asserts the query starts clean and that its checks do not bleed back into
the parent.
Closes: ClickHouse#105983
CI report:
https://s3.amazonaws.com/clickhouse-test-reports/json.html?REF=master&sha=fa6d98d95368955ee5619a28a21527da7a9b83cb&name_0=MasterCI&name_1=Stateless%20tests%20%28amd_asan_ubsan%2C%20distributed%20plan%2C%20parallel%2C%202%2F2%29
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
(cherry picked from commit 3a3c454)
# Conflicts:
# src/Interpreters/tests/gtest_context_race.cpp
…8508 Backport ClickHouse#108508 to 25.8: Enforce access control for MySQL COM_FIELD_LIST and COM_INIT_DB
Backport ClickHouse#98827 to 25.8: Implement http header validation for DataLakeCatalog
…0529 Backport ClickHouse#100529 to 25.8: Fix: fix Credential leak in query_log for paimon*Cluster and deltaLakeS3 t…
…7675 Backport ClickHouse#107675 to 25.8: fix column order for distributed alias columns
…9874 Backport ClickHouse#109874 to 25.8: Bump libarchive from 3.8.7 to 3.8.8
….1 to 2.8.2
…3363 Backport ClickHouse#113363 to 25.8: Fix use-after-free in async insert queue due to deadline collision
…cture under the user's context
… under the user's context
Two symbols the backport relies on differ on this branch. `getInMemoryMetadataPtr` takes no arguments here, while master passes a context and a `bypass_metadata_cache` flag; the no-argument form already behaves as the `false` that was being passed. `isLoadingFromExistingMetadata` does not exist on this branch at all, so add it next to the enum it tests. Nothing else calls it yet. The comment drops master's reference to `dynamic_disk_allow_*`, a setting that has no counterpart here. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…2594 Backport ClickHouse#112594 to 25.8: Bump `simdjson` from v4.2.4 to v4.6.5
The backported code calls `isLoadingFromExistingMetadata`, which does not exist on this branch, so add it next to the enum it tests. Nothing else here calls it yet. Identical to the addition in the backport of ClickHouse#113372 to this branch, so whichever merges second is not a conflict. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…3372 Backport ClickHouse#113372 to 25.8: Infer an omitted Buffer structure under the user's context
…2593 Backport ClickHouse#112593 to 25.8: Bump vendored `libexpat` from 2.8.1 to 2.8.2
…3220 Backport ClickHouse#113220 to 25.8: Infer an omitted Distributed structure under the user's context
…2614 Backport ClickHouse#112614 to 25.8: Bump `google-protobuf` to v35.1 and `grpc` to v1.83.0
… of temporary tables in `Merge`
Backport ClickHouse#88573 to 25.8: test: fix flakiness of test_async_load_databases (pushing to MV reordered and lack of proper cleanup)
…3224 Backport ClickHouse#113224 to 25.8: Do not read the internal database of temporary tables in `Merge`
…9675 Backport ClickHouse#109675 to 25.8: Fix segfault due to bad shutdown ordering on startup exception
…n sorted path order
Fixes 10 CVEs from the curl 8.21.0 security disclosure that apply to our build (connection reuse, cookie handling, proxy/Digest auth, mTLS matching, WebSocket support). Updated curl-cmake/CMakeLists.txt for curl 8.21.0's source layout: lib/noproxy.c was removed upstream (logic moved into new lib/proxy.c); also added cf-recvbuf.c, cf-setup.c, creds.c, peer.c, and vtls/vtls_config.c. Verified: ninja _curl builds and links clean.
… large kafka_num_consumers
Bump curl to 8.21.0
…2601 Backport ClickHouse#112601 to 25.8: Iterate ColumnObject subcolumns in sorted path order
…2784 Backport ClickHouse#112784 to 25.8: Fix startup and ATTACH of a view with a recursive CTE with the old analyzer
…3390 Backport ClickHouse#113390 to 25.8: Fix ATTACH of Kafka tables with a large kafka_num_consumers
Release v25.8.30.16-lts # Conflicts: # .gitmodules # cmake/autogenerated_versions.txt # src/Access/AuthenticationData.cpp # src/Interpreters/Context.cpp # src/Interpreters/Context.h # src/Parsers/FunctionSecretArgumentsFinder.h # src/Storages/ObjectStorage/DataLakes/Iceberg/StatelessMetadataFileGetter.cpp # src/Storages/ObjectStorageQueue/ObjectStorageQueueIFileMetadata.cpp # src/Storages/StorageMergeTree.cpp # tests/integration/test_database_iceberg/test.py # tests/integration/test_mask_sensitive_info/test.py # tests/integration/test_storage_iceberg/test.py
$CLICKHOUSE_CLIENT already carries --send_logs_level from shell_config.sh, so passing it again makes the client fail with "option '--send_logs_level' cannot be specified more than once". Runs without settings randomization (Fast test) do not add --allow_repeated_settings, so add it explicitly in the test.
CI triage for #2224 (bump to 25.8.30)Verdict: 8 red checks, none is a product regression introduced by this bump. Evidence: this PR is only 2 commits past Not caused by this PRIntegration tests (amd_binary, 1/5 … 5/5) — all five shards report DCO — fails because the merge commit AST fuzzer (amd_debug) —
Introduced by the bump, but test-only / low-risk (owned by this PR)All four are brand-new tests that came in with the tag merge. Three are missing a CI-config exclusion tag; one is a security test whose security invariant still holds. 1. 2. --- Tags: long, no-random-settings
+-- Tags: long, no-random-settings, no-old-analyzer3. --- Tags: no-fasttest
+-- Tags: no-fasttest, no-replicated-database4. -# Tags: no-parallel
+# Tags: no-parallel, no-replicated-database(One caveat worth a maintainer glance: confirm the ALTER-rename rollback semantics are equivalent — or intentionally out of scope — under a Replicated engine, so the tag documents a real scope boundary rather than hiding a Replicated-path gap.) Suggested next steps
I can open a |
Changelog category (leave one):
CI/CD Options
Exclude tests:
Regression jobs to run: