ClickHouse/docs/changelogs/v24.4.4.107-stable.md

16 KiB

sidebar_position sidebar_label
1 2024

2024 Changelog

ClickHouse release v24.4.4.107-stable (af0ed6b197) FIXME as compared to v24.4.3.25-stable (a915dd4eda)

Improvement

  • Backported in #65884: Always start Keeper with sufficient amount of threads in global thread pool. #64444 (Duc Canh Le).
  • Backported in #65303: Returned back the behaviour of how ClickHouse works and interprets Tuples in CSV format. This change effectively reverts https://github.com/ClickHouse/ClickHouse/pull/60994 and makes it available only under a few settings: output_format_csv_serialize_tuple_into_separate_columns, input_format_csv_deserialize_separate_columns_into_tuple and input_format_csv_try_infer_strings_from_quoted_tuples. #65170 (Nikita Mikhaylov).
  • Backported in #65894: Respect cgroup CPU limit in Keeper. #65819 (Antonio Andelic).

Critical Bug Fix (crash, LOGICAL_ERROR, data loss, RBAC)

  • Backported in #65372: Fix a bug in ClickHouse Keeper that causes digest mismatch during closing session. #65198 (Aleksei Filatov).
  • Backported in #66883: Fix unexpeced size of low cardinality column in function calls. #65298 (Raúl Marín).
  • Backported in #65435: Forbid QUALIFY clause in the old analyzer. The old analyzer ignored QUALIFY, so it could lead to unexpected data removal in mutations. #65356 (Dmitry Novik).
  • Backported in #65448: Use correct memory alignment for Distinct combinator. Previously, crash could happen because of invalid memory allocation when the combinator was used. #65379 (Antonio Andelic).
  • Backported in #65710: Fix crash in maxIntersections. #65689 (Raúl Marín).
  • Backported in #66689: Fix the VALID UNTIL clause in the user definition resetting after a restart. Closes #66405. #66409 (Nikolay Degterinsky).

Bug Fix (user-visible misbehavior in an official stable release)

  • Backported in #65353: Fix possible abort on uncaught exception in ~WriteBufferFromFileDescriptor in StatusFile. #64206 (Kruglov Pavel).
  • Backported in #65060: Fix the Expression nodes list expected 1 projection names and Unknown expression or identifier errors for queries with aliases to GLOBAL IN.. #64517 (Nikolai Kochetov).
  • Backported in #65329: Fix the crash loop when restoring from backup is blocked by creating an MV with a definer that hasn't been restored yet. #64595 (pufit).
  • Backported in #64833: Fix bug which could lead to non-working TTLs with expressions. #64694 (alesapin).
  • Backported in #65086: Fix removing the WHERE and PREWHERE expressions, which are always true (for the new analyzer). #64695 (Nikolai Kochetov).
  • Backported in #65540: Fix crash for ALTER TABLE ... ON CLUSTER ... MODIFY SQL SECURITY. #64957 (pufit).
  • Backported in #65578: Fix crash on destroying AccessControl: add explicit shutdown. #64993 (Vitaly Baranov).
  • Backported in #65161: Fix pushing arithmetic operations out of aggregation. In the new analyzer, optimization was applied only once. #65104 (Dmitry Novik).
  • Backported in #65616: Fix aggregate function name rewriting in the new analyzer. #65110 (Dmitry Novik).
  • Backported in #65730: Eliminate injective function in argument of functions uniq* recursively. This used to work correctly but was broken in the new analyzer. #65140 (Duc Canh Le).
  • Backported in #65668: Disable non-intersecting-parts optimization for queries with FINAL in case of read-in-order optimization was enabled. This could lead to an incorrect query result. As a workaround, disable do_not_merge_across_partitions_select_final and split_parts_ranges_into_intersecting_and_non_intersecting_final before this fix is merged. #65505 (Nikolai Kochetov).
  • Backported in #65786: Fixed bug in MergeJoin. Column in sparse serialisation might be treated as a column of its nested type though the required conversion wasn't performed. #65632 (Nikita Taranov).
  • Backported in #65810: Fix invalid exceptions in function parseDateTime with %F and %D placeholders. #65768 (Antonio Andelic).
  • Backported in #65931: For queries that read from PostgreSQL, cancel the internal PostgreSQL query if the ClickHouse query is finished. Otherwise, ClickHouse query cannot be canceled until the internal PostgreSQL query is finished. #65771 (Maksim Kita).
  • Backported in #65826: Fix a bug in short circuit logic when old analyzer and dictGetOrDefault is used. #65802 (jsc0218).
  • Backported in #66299: Better handling of join conditions involving IS NULL checks (for example ON (a = b AND (a IS NOT NULL) AND (b IS NOT NULL) ) OR ( (a IS NULL) AND (b IS NULL) ) is rewritten to ON a <=> b), fix incorrect optimization when condition other then IS NULL are present. #65835 (vdimir).
  • Backported in #66326: Add missing settings input_format_csv_skip_first_lines/input_format_tsv_skip_first_lines/input_format_csv_try_infer_numbers_from_strings/input_format_csv_try_infer_strings_from_quoted_tuples in schema inference cache because they can change the resulting schema. It prevents from incorrect result of schema inference with these settings changed. #65980 (Kruglov Pavel).
  • Backported in #66153: Fixed buffer overflow bug in unbin/unhex implementation. #66106 (Nikita Taranov).
  • Backported in #66459: Fixed a bug in ZooKeeper client: a session could get stuck in unusable state after receiving a hardware error from ZooKeeper. For example, this might happen due to "soft memory limit" in ClickHouse Keeper. #66140 (Alexander Tokmakov).
  • Backported in #66224: Fix issue in SumIfToCountIfVisitor and signed integers. #66146 (Raúl Marín).
  • Backported in #66267: Don't throw TIMEOUT_EXCEEDED for none_only_active mode of distributed_ddl_output_mode. #66218 (Alexander Tokmakov).
  • Backported in #66678: Fix handling limit for system.numbers_mt when no index can be used. #66231 (János Benjamin Antal).
  • Backported in #66603: Fixed how the ClickHouse server detects the maximum number of usable CPU cores as specified by cgroups v2 if the server runs in a container such as Docker. In more detail, containers often run their process in the root cgroup which has an empty name. In that case, ClickHouse ignored the CPU limits set by cgroups v2. #66237 (filimonov).
  • Backported in #66358: Fix the Not-ready set error when a subquery with IN is used in the constraint. #66261 (Nikolai Kochetov).
  • Backported in #66971: Fix Column identifier is already registered error with group_by_use_nulls=true and new analyzer. #66400 (Nikolai Kochetov).
  • Backported in #66968: Fix Cannot find column error for queries with constant expression in GROUP BY key and new analyzer enabled. #66433 (Nikolai Kochetov).
  • Backported in #66719: Correctly track memory for Allocator::realloc. #66548 (Antonio Andelic).
  • Backported in #66950: Fix an invalid result for queries with WINDOW. This could happen when PARTITION columns have sparse serialization and window functions are executed in parallel. #66579 (Nikolai Kochetov).
  • Backported in #66947: Fix Method getResultType is not supported for QUERY query node error when scalar subquery was used as the first argument of IN (with new analyzer). #66655 (Nikolai Kochetov).
  • Backported in #67195: TRUNCATE DATABASE used to stop replication as if it was a DROP DATABASE query, it's fixed. #67129 (Alexander Tokmakov).
  • Backported in #67377: Fix error Cannot convert column because it is non constant in source stream but must be constant in result. for a query that reads from the Merge table over the Distriburted table with one shard. #67146 (Nikolai Kochetov).
  • Backported in #67240: This closes #67156. This closes #66447. The bug was introduced in https://github.com/ClickHouse/ClickHouse/pull/62907. #67178 (Maksim Kita).

NOT FOR CHANGELOG / INSIGNIFICANT