Antalya 26.6: Bump to 26.6.4 - #2309
Conversation
…icy AST in place in `Merge`
… large kafka_num_consumers
… the split filter column name clashes with an input
…lineage field ids in native Parquet reader
…-index matching over a large dotted constant
…7377 Backport ClickHouse#107377 to 26.6: Tolerate Iceberg v3 reserved row-lineage field ids in native Parquet reader
…3390 Backport ClickHouse#113390 to 26.6: Fix ATTACH of Kafka tables with a large kafka_num_consumers
…gMetadata::iterate when datalake_table_state is missing
…le with an inconsistent bloom filter size
…mit::query_map causing LOGICAL_ERROR
On 26.6, `EXPLAIN indexes = 1` does not print the combined `Parts: 0 | Granules: 0` summary line that master's pretty plan formatting emits, so the backported reference had one extra line. The meaningful assertion — the JSON subcolumn index still prunes, `Granules: 0/1000` — is unchanged. CI: https://s3.amazonaws.com/clickhouse-test-reports/json.html?PR=114476&sha=9a63cb20d13792992441770495ca5610ca25ca62&name_0=BackportPR&name_1=Stateless%20tests%20%28amd_asan_ubsan%2C%20distributed%20plan%2C%20parallel%2C%202%2F2%29 PR: ClickHouse#114476 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Two stateless tests from ClickHouse#113291 cannot run on 26.6 as cherry-picked, so they fail before any assertion executes. 04672: join_runtime_filter_min_probe_rows does not exist on 26.6 (added by ClickHouse#104860, settings history 26.8), so the SET at line 21 aborts the test with UNKNOWN_SETTING. Dropping that one clause makes the line identical to the merged 26.7 backport. max_bytes_ratio_before_external_join does exist here, so it stays and 04029 needs no change. 04695: the t_utc block was removed from this branch but the trailing DROP TABLE t_utc and the three matching reference lines were left behind, so the test dies with UNKNOWN_TABLE. Both files: EXPLAIN PLAN defaults to actions=1, compact=1, pretty=1 only from 26.7 via explain_query_plan_default, which does not exist on 26.6, so the references written for master do not match. Pinning the three options explicitly restores the byte-exact output. All three are needed: compact and pretty without actions collapse the plan and hide the sort description rows. Verified with clickhouse local on stock 26.6.3.30 and on a master build. On 26.6 both tests now run to completion and every remaining difference is the defect ClickHouse#113291 fixes. On master the same files match the references byte for byte, so the pinning loses no coverage.
This is the only failing gtest on asan_ubsan and tsan. ClickHouse#113291 added the TEST, but the monotonicity it asserts lives in src/Functions/toNullable.cpp and came from ClickHouse#110121, which is labelled pr-performance and was not backported: hasInformationAboutMonotonicity is absent from toNullable.cpp on 26.6 and present on 26.7, which is why 26.7 went green. Separate commit so it can be dropped if ClickHouse#110121 is backported instead.
…2479 Backport ClickHouse#112479 to 26.6: RabbitMQ related fix
…2601 Backport ClickHouse#112601 to 26.6: Iterate ColumnObject subcolumns in sorted path order
…icas read when the requested stage cannot absorb finalized data
This reverts commit d7e0987.
…3484 Backport ClickHouse#113484 to 26.6: Push down plan level constants from joins
…3509 Backport ClickHouse#113509 to 26.6: Add a dedicated thread pool for lightweight snapshot creation
…2498 Backport ClickHouse#112498 to 26.6: Fix segfault reading a Parquet file with an inconsistent bloom filter size
The automated cherry-pick left a stray `<<<<<<< HEAD` line in `TEST(RestCatalog, ApplySettingsChangesWithoutAuthenticationRejected)`, breaking compilation of `unit_tests_dbms` in all build configurations. Build log: https://s3.amazonaws.com/clickhouse-test-reports/PRs/113894/f8719ec29ce7ec2c2ad41571ef5e6bd217e4bdab/build_amd_debug/build_clickhouse/build_clickhouse.log Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…nullable ARRAY or MAP column
…5824 Backport ClickHouse#115824 to 26.6: Fix bad projection names
…6851 Backport ClickHouse#116851 to 26.6: `formatDateTime`: Cache resolved time zones locally
…5701 Backport ClickHouse#115701 to 26.6: Validate aggregate function states on deserialization
…9764 Backport ClickHouse#109764 to 26.6: fix partition pruning for timestamp type
Release v26.6.4.55-stable
Adapt Antalya-specific code to upstream API changes brought by the 26.6.4 merge: * `StorageObjectStorageConfiguration::partition_strategy_type` is now `private`, so `StorageObjectStorage::read` uses the public accessor `getPartitionStrategyType` instead. * `DatabaseDataLake` keeps its settings in `MultiVersion<DatabaseDataLakeSettings> database_settings` rather than a plain `settings` member. `getCatalog` and `getConfiguration` still referred to `settings`; they now take a version and alias it the same way the rest of the file does. * The new `gtest_rest_catalog` tests construct `RestCatalog` and `OneLakeCatalog` with the upstream signatures, which lack the Antalya `namespaces_` argument, and call `tryGetTableMetadata` without the Antalya `ContextPtr`. Pass both. Only the first error appeared in the CI report because `ninja` stopped before reaching the others. CI report: https://altinity-build-artifacts.s3.amazonaws.com/json.html?PR=2309&sha=feba0a23cfd061a10d92b9b53056e7efbf3188cf&name_0=PR&name_1=Fast%20test Related: #2309
…26.6/26.6.4 Conflicts in `src/Databases/DataLake/RestCatalog.cpp`: both sides changed the `getAuthHeaders` signature in orthogonal ways, so each hunk keeps both changes. `v26.6.4` threads a `const CatalogState &` first parameter; `antalya-26.6` adds a `bool * used_cached_oauth_token` out-parameter plus the 401/403 retry that feeds the `DataLakeRestCatalogAuthTokenCachedValid` profile event. Resolved by combining them in `BigLakeCatalog::getAuthHeaders`, in its delegation to `RestCatalog::getAuthHeaders`, in `createReadBuffer` (keeping the `auth_headers` short-circuit) and in `sendRequest` (keeping the `create_buffer` lambda and its retry). `OneLakeCatalog` is new in 26.6.4, so the `used_cached_oauth_token` change never touched it and its `getAuthHeaders` auto-merged with the old parameter list while the base virtual gained the new one. Added the parameter to the override and forwarded it, otherwise `override` does not compile. #2309
CI triage for #2309 (bump to 26.6.4)Verdict: the red is dominated by infra/flaky noise plus a mechanical DCO failure. Out of everything, only one failure looks like a genuine, deterministic regression that this bump introduces — Head SHA analysed:
1. DCO — mechanical, expected for a release bump
2.
|
|
@blau-ai fix the above-mentioned |
…2309) Backport ClickHouse#111842 made StorageObjectStorage resolve the hive partitioning sample path lazily (on first use) when the schema and format are already known, so CREATE/ATTACH/startup no longer list the object storage. The Altinity StorageObjectStorageCluster wrapper - the storage actually created for `CREATE TABLE ... engine=S3(...)` - kept its own eager resolution and so still listed the endpoint and ran setupHivePartitioningForObjectStorage at CREATE time. For a table with an explicit schema of only partition columns and use_hive_partitioning=1 this threw INCORRECT_DATA on CREATE instead of on first use, failing 03363_hive_style_partition. Mirror the deferral in the cluster wrapper: skip the eager getPathSample when the sample path can be resolved lazily; the inner pure_storage carries the same deferral and resolves it on read. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Fixed
|
`deserializeFieldFromBinaryRepr` computed the rounding adjustment `scaler` as +-10^scale in an `Int64` before checking the decimal width. Only `Decimal32` and `Decimal64` bounds fit the `Int64` unscaled value the function builds, and it returns `std::nullopt` for anything wider - but by then `scaler *= 10` had already overflowed for any scale above 18. The `asan_ubsan` build is compiled with `-fno-sanitize-recover=all`, so the overflow aborts the server. A `Decimal(38, 30)` column is enough to hit it. Reading the manifest min/max bounds killed the server on `SELECT * FROM test_schema_inference_Parquet_1_s3_...`, which failed all 12 parametrizations of `test_schema_inference`: the first one with `ATTEMPT_TO_READ_AFTER_EOF` and the rest with `Connection refused`. Resolve the decimal width first and bail out for `Decimal128` and `Decimal256` before any arithmetic. `DataTypeDecimalBase` caps the scale at 9 and 18 for the two remaining types, so `scaler` cannot exceed 10^18. The returned value is unchanged; only the undefined behaviour is gone. Verified by rebuilding this translation unit with `-fsanitize=undefined -fsanitize-trap=undefined`: without the fix `test_schema_inference` fails 12/12 with `SIGILL` at `IcebergFieldParseHelpers.cpp:147:24`, with the fix it passes 12/12, and the `test_minmax_pruning*` tests pass 22/22. CI report: https://altinity-build-artifacts.s3.amazonaws.com/json.html?PR=2309&sha=344051464de882144a796068351a410caaecd620&name_0=PR&name_1=Integration%20tests%20%28amd_asan_ubsan%2C%20targeted%29 Related: #2309
`test_auth_token_profile_events` read `ProfileEvents['DataLakeRestCatalogAuthTokenRefreshed']` and `ProfileEvents['DataLakeRestCatalogAuthTokenCacheHits']`. Both events were renamed to `DataLakeRestCatalogAuthTokenRetrieve` and `DataLakeRestCatalogAuthTokenCachedValid` in da005ba "Rename several events" without updating the test. `ProfileEvents` is a `Map`, so a missing key silently yields 0 and `assert refreshed >= 1` could never pass. The test also assumed the catalog client is created on the first database access. It is created by `CREATE DATABASE`, which calls `loadConfig`, and that request is what fetches the access token through `getAuthHeaders`, so the retrieval is attributed to the `CREATE DATABASE` query and every later query only sees cache hits. Give the `CREATE DATABASE` its own query id and assert the retrieval there. To make that possible, `create_clickhouse_iceberg_database` now runs the `DROP DATABASE` separately and sends the `CREATE DATABASE` as a single statement with `allow_experimental_database_iceberg` passed as a setting, so the statement can carry a query id. CI report: https://altinity-build-artifacts.s3.amazonaws.com/json.html?PR=2309&sha=344051464de882144a796068351a410caaecd620&name_0=PR&name_1=Integration%20tests%20%28amd_asan_ubsan%2C%20targeted%29 Related: #2309
…orageCluster `04627_object_storage_lazy_hive_partitioning` failed on its last statement: `DESCRIBE TABLE ... SETTINGS throw_on_hive_partitioning_resolution_failure = 1` succeeded instead of throwing `S3_ERROR`, because the deferred resolution was never attempted at all. `InterpreterDescribeQuery` triggers it through `updateExternalDynamicMetadataIfExists`, but the override in `StorageObjectStorageCluster` - the storage created for `CREATE TABLE ... ENGINE = S3(...)` - returned immediately for every non-datalake configuration, so the deferral carried by the inner `pure_storage` was never reached. `SELECT` passes only because `StorageObjectStorage::read` resolves a pending deferral itself, `DESCRIBE` has no such second chance. Forward the call to `pure_storage`. Its metadata is what `StorageObjectStorageCluster::getInMemoryMetadataPtr` returns, so the resolved columns and virtuals need no extra propagation. CI report: https://altinity-build-artifacts.s3.amazonaws.com/json.html?PR=2309&sha=86d91e3242d650c627f08e275b984ae07b8f5541&name_0=PR&name_1=Stateless+tests+%28amd_debug%2C+parallel%29&name_2=Tests Related: #2309
This comment was marked as outdated.
This comment was marked as outdated.
…mp/antalya-26.6/26.6.4
CI triage for #2309 (26.6.4 release-sync)Verdict — 6 red checks: 0 caused by anything unique to this PR, 1 real (deterministic) bug inherited from Every failing test suite is either the one deterministic Iceberg bug or an experimental CAS s3 storage config ( 1. DCO —
|
Changelog category (leave one):
CI/CD Options
Exclude tests:
Regression jobs to run: