Changelog 2026

- Fix `LOGICAL_ERROR` exception `Chunk info was not set for chunk in MergingAggregatedTransform` when using `ARRAY JOIN` with `merge()` table function over multiple Distributed tables combined with `GROUP BY`. [#97838](https://github.com/ClickHouse/ClickHouse/pull/97838) ([Raúl Marín](https://github.com/Algunenano)).
- Fix server crash (`std::terminate`) caused by an uncaught exception in the HTTP connection pool destructor when the connection group hard limit is reached under high concurrency. The exception `HTTP_CONNECTION_LIMIT_REACHED` could escape `~PooledConnection` when recycling a connection back to the pool, leading to `SIGABRT`. [#97850](https://github.com/ClickHouse/ClickHouse/pull/97850) ([Antonio Andelic](https://github.com/antonio2368)).
- Fix incorrect result when `grace_hash` algorithm is used with non-equi joins and left block cannot be processed completely because of the size constraints on the join result. [#97866](https://github.com/ClickHouse/ClickHouse/pull/97866) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
- Fix performance inefficiency in DeltaLake metadata scanning introduced in [#96686](https://github.com/ClickHouse/ClickHouse/pull/96686). [#97880](https://github.com/ClickHouse/ClickHouse/pull/97880) ([Kseniia Sumarokova](https://github.com/kssenii)).
- Fix data race in ZooKeeper client between sendThread and receiveThread. [#97887](https://github.com/ClickHouse/ClickHouse/pull/97887) ([Pablo Marcos](https://github.com/pamarcos)).
- Fixes a bug where it was not possible to use CTE with distributed insert selects. Continuation of <https://github.com/ClickHouse/ClickHouse/pull/87789>. Closes [#95837](https://github.com/ClickHouse/ClickHouse/issues/95837). [#97889](https://github.com/ClickHouse/ClickHouse/pull/97889) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
- Fix exception from `CachedOnDiskReadBufferFromFile::readBigAt`. Closes [#97325](https://github.com/ClickHouse/ClickHouse/issues/97325). [#97890](https://github.com/ClickHouse/ClickHouse/pull/97890) ([Kseniia Sumarokova](https://github.com/kssenii)).
- Fix `LOGICAL_ERROR` exception in `Alias` engine with materialized columns due to column mismatch. Closes [#97907](https://github.com/ClickHouse/ClickHouse/issues/97907). [#97921](https://github.com/ClickHouse/ClickHouse/pull/97921) ([Kai Zhu](https://github.com/nauu)).
- Fix Keeper data loss after restart when using Azure Blob Storage with `s3_plain` metadata for log storage. [#97987](https://github.com/ClickHouse/ClickHouse/pull/97987) ([Antonio Andelic](https://github.com/antonio2368)).
- Fix JIT miscompilation of `sign` function for integer types wider than `Int8` — values outside the -128..127 range could produce incorrect sign. [#98012](https://github.com/ClickHouse/ClickHouse/pull/98012) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Fixed `DUPLICATE_COLUMN` exception and silent NULLs when reading Delta Lake tables that use column mapping "name" mode with struct fields whose names contain dots (e.g. `` STRUCT<`a.foo`: STRING, `b.foo`: STRING> ``). [#98013](https://github.com/ClickHouse/ClickHouse/pull/98013) ([Caio Ishizaka Costa](https://github.com/ch-caioishizaka)).
- Fix mutation after lightweight update and secondary indices. [#98044](https://github.com/ClickHouse/ClickHouse/pull/98044) ([Raúl Marín](https://github.com/Algunenano)).
- Fix incorrect result of FINAL queries when mixing primary key and non primary key skip indexes. [#98097](https://github.com/ClickHouse/ClickHouse/pull/98097) ([Raúl Marín](https://github.com/Algunenano)).
- Enforce READ ON FILE checks for scalar file() and DESCRIBE TABLE file(). [#98115](https://github.com/ClickHouse/ClickHouse/pull/98115) ([Nikolay Degterinsky](https://github.com/evillique)).
- Fixes a crash where querying files with a glob pattern (e.g., `file('dir/**', 'LineAsString')`) would throw an unhandled filesystem exception (`STD_EXCEPTION`) if the directory contained a dangling symlink. Dangling symlinks are now silently skipped, and the query returns results from all valid files. [#98143](https://github.com/ClickHouse/ClickHouse/pull/98143) ([Mark Andreev](https://github.com/mrk-andreev)).
- Fix segfault in query plan optimization when converting outer join to inner join with `arrayJoin` in filter expression. [#98147](https://github.com/ClickHouse/ClickHouse/pull/98147) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Fix `ProtobufList` format not working with Kafka engine due to read state not being reset between messages. [#98151](https://github.com/ClickHouse/ClickHouse/pull/98151) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Fix logical error with analyzer\_compatibility\_join\_using\_top\_level\_identifier and ARRAY JOIN, closes [#98164](https://github.com/ClickHouse/ClickHouse/issues/98164). [#98179](https://github.com/ClickHouse/ClickHouse/pull/98179) ([Vladimir Cherkasov](https://github.com/vdimir)).
- Set `Watch` component for watch responses in `aggregated_zookeeper_log` instead of leaving it empty. [#98202](https://github.com/ClickHouse/ClickHouse/pull/98202) ([Antonio Andelic](https://github.com/antonio2368)).
- If the partition key columns are not covered by the sorting key, then partition pruning could incorrectly skip partitions containing rows that should "win" during FINAL deduplication. [#98242](https://github.com/ClickHouse/ClickHouse/pull/98242) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
- Fix logical error "Bad cast from type DB::ColumnConst to DB::ColumnArray" in `kql_array_sort_asc`/`kql_array_sort_desc` when called with constant array arguments. [#98251](https://github.com/ClickHouse/ClickHouse/pull/98251) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Fix out-of-bounds access in `ColumnConst::getExtremes` that could cause a crash when `extremes = 1` is enabled. [#98263](https://github.com/ClickHouse/ClickHouse/pull/98263) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Fix potential deadlock when two concurrent `MOVE PARTITION` operations work with the same pair of tables in opposite directions. [#98264](https://github.com/ClickHouse/ClickHouse/pull/98264) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- HTTP server now returns an error message in the response body for 400 Bad Request responses caused by malformed headers, instead of an empty body. [#98268](https://github.com/ClickHouse/ClickHouse/pull/98268) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Fix wrong results with distributed index analysis (experimental feature) and query condition cache. [#98269](https://github.com/ClickHouse/ClickHouse/pull/98269) ([Azat Khuzhin](https://github.com/azat)).
- Fixed LOGICAL\_ERROR exception "Invalid binary search result in `MergeTreeSetIndex`" triggered by `toDate` conversion on key columns with data crossing the 65535 boundary. [#98276](https://github.com/ClickHouse/ClickHouse/pull/98276) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Fix `LOGICAL_ERROR` exception when a RIGHT JOIN wrapped in a CROSS JOIN is swapped by the `query_plan_join_swap_table` optimization in the legacy join step code path. [#98279](https://github.com/ClickHouse/ClickHouse/pull/98279) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Validate corrupted data during `DDSketch` deserialization to prevent segfaults, exceptions, infinite loops, and OOM when reading corrupted `quantilesDD` aggregate function states. [#98284](https://github.com/ClickHouse/ClickHouse/pull/98284) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Fix LOGICAL\_ERROR "Trying to execute PLACEHOLDER action" when correlated columns from outer queries are referenced inside lambda functions such as `arrayMap`. [#98285](https://github.com/ClickHouse/ClickHouse/pull/98285) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Fix logical error exception in `caseWithExpression` when `CASE` expression involves `materialize(NULL)` or other `Nullable(Nothing)` arguments. [#98290](https://github.com/ClickHouse/ClickHouse/pull/98290) ([Alexey Milovidov](https://github.com/alexey-milovidov)).