ClickHouse/docs/changelogs/v23.5.1.3174-stable.md

108 KiB
Raw Blame History

sidebar_position sidebar_label
1 2023

2023 Changelog

ClickHouse release v23.5.1.3174-stable (2fec796e73) FIXME as compared to v23.4.1.1943-stable (3920eb987f)

Backward Incompatible Change

  • Make local object storage work consistently with s3 object storage, fix problem with append (closes #48465), make it configurable as independent storage. The change is backward incompatible because cache on top of local object storage is not incompatible to previous versions. #48791 (Kseniia Sumarokova).
  • Date_trunc function to always return datetime type. #48851 (Shane Andrade).
  • Remove the experimental feature "in-memory data parts". The data format is still supported, but the settings are no-op, and compact or wide parts will be used instead. This closes #45409. #49429 (Alexey Milovidov).
  • Changed default values of settings parallelize_output_from_storages and input_format_parquet_preserve_order. This allows ClickHouse to reorder rows when reading from files (e.g. CSV or Parquet), greatly improving performance in many cases. To restore the old behavior of preserving order, use parallelize_output_from_storages = 0, input_format_parquet_preserve_order = 1. #49479 (Michael Kolupaev).
  • Make projections production-ready. Add the optimize_use_projections setting to control whether the projections will be selected for SELECT queries. The setting allow_experimental_projection_optimization is obsolete and does nothing. #49719 (Alexey Milovidov).
  • Mark joinGet() as non deterministic (so as dictGet). #49843 (Azat Khuzhin).
  • Revert "groupArray returns cannot be nullable" (due to binary compatibility breakage for groupArray/groupArrayLast/groupArraySample over Nullable types, which likely will lead to TOO_LARGE_ARRAY_SIZE or CANNOT_READ_ALL_DATA). #49971 (Azat Khuzhin).

New Feature

  • Password type in queries like CREATE USER u IDENTIFIED BY 'p' will be automatically set according to the setting default_password_type in the config.xml on the server. Closes #42915. #44674 (Nikolay Degterinsky).
  • Add bcrypt password authentication type. Closes #34599. #44905 (Nikolay Degterinsky).
  • Added system.zookeeper_connection table that shows information about ZooKeeper connections. #45245 (mateng915).
  • Add urlCluster table function. Refactor all *Cluster table functions to reduce code duplication. Make schema inference work for all possible *Cluster function signatures and for named collections. Closes #38499. #45427 (attack204).
  • Extend first_value and last_value to accept null. #46467 (lgbo).
  • Add server and format settings display_secrets_in_show_and_select for displaying secrets of tables, databases, table functions, and dictionaries. Add privilege displaySecretsInShowAndSelect controlling which users can view secrets. #46528 (Mike Kot).
  • Add new function generateRandomStructure that generates random table structure. It can be used in combination with table function generateRandom. #47409 (Kruglov Pavel).
  • Added native ClickHouse Keeper CLI Client. #47414 (pufit).
  • The query cache can now be used for production workloads. #47977 (Robert Schulze).
  • Fix a bug that prevented the use of CASE without an ELSE branch and extended transform to deal with more types. Also fix some bugs that made transform() return incorrect results when decimal types were mixed with other numeric types. #48300 (Salvatore Mesoraca).
  • Added server-side encryption using KMS keys with S3 tables, and the header setting with S3 disks. Closes #48723. #48724 (Johann Gan).
  • Add MemoryTracker for the background tasks (merges and mutation). Introduces merges_mutations_memory_usage_soft_limit and merges_mutations_memory_usage_to_ram_ratio settings that represent the soft memory limit for merges and mutations. If this limit is reached ClickHouse won't schedule new merge or mutation tasks. Also MergesMutationsMemoryTracking metric is introduced to allow observing current memory usage of background tasks. Resubmit #46089. Closes #48774. #48787 (Dmitry Novik).
  • Function dotProduct work for array. #49050 (FFFFFFFHHHHHHH).
  • Support statement SHOW INDEX to improve compatibility with MySQL. #49158 (Robert Schulze).
  • Add virtual column _file and _path support to table function url. - Impove error message for table function url. - resolves #49231 - resolves #49232. #49356 (Ziyi Tan).
  • Adding the grants field in the users.xml file, which allows specifying grants for users. #49381 (pufit).
  • Add alias str_to_map and mapfromstring for extractkeyvaluepairs. closes #47185. #49466 (flynn).
  • Support full/right join by using grace hash join algorithm. #49483 (lgbo).
  • WITH FILL modifier groups filling by sorting prefix. Controlled by use_with_fill_by_sorting_prefix setting (enabled by default). Related to #33203#issuecomment-1418736794. #49503 (Igor Nikonov).
  • Add SQL functions for entropy-learned hashing. #49656 (Robert Schulze).
  • Clickhouse-client now accepts queries after "--multiquery" when "--query" (or "-q") is absent. example: clickhouse-client --multiquery "select 1; select 2;". #49870 (Alexey Gerasimchuck).
  • Add separate handshake_timeout for receiving Hello packet from replica. Closes #48854. #49948 (Kruglov Pavel).
  • New setting s3_max_inflight_parts_for_one_file sets the limit of concurrently loaded parts with multipart upload request in scope of one file. #49961 (Sema Checherinda).
  • Geographical data types (Point, Ring, Polygon, and MultiPolygon) are production-ready. #50022 (Alexey Milovidov).
  • Added a function "space()" which repeats a space as many times as specified. #50103 (Robert Schulze).
  • Added --input_format_csv_trim_whitespaces option. #50215 (Alexey Gerasimchuck).
  • Added the dictGetAll function for regexp tree dictionaries to return values from multiple matches as arrays. Closes #50254. #50255 (Johann Gan).
  • Added toLastDayOfWeek() function to round a date or a date with time up to the nearest Saturday or Sunday. #50315 (Victor Krasnov).
  • Ability to ignore a skip index by specifying ignore_data_skipping_indices. #50329 (Boris Kuschel).
  • Revert 'Add SQL functions for entropy-learned hashing'. #50416 (Robert Schulze).
  • Add system.user_processes table and SHOW USER PROCESSES query to show memory info and ProfileEvents on user level. #50492 (János Benjamin Antal).
  • Added storage engine AzureBlobStorage and azure_blob_storage table function. The supported set of features is very similar to storage/table function S3. Implements #19307. #50604 (SmitaRKulkarni).

Performance Improvement

  • Compress marks and primary key by default. It significantly reduces the cold query time. Upgrade notes: the support for compressed marks and primary key has been added in version 22.9. If you turned on compressed marks or primary key or installed version 23.5 or newer, which has compressed marks or primary key on by default, you will not be able to downgrade to version 22.8 or earlier. You can also explicitly disable compressed marks or primary keys by specifying the compress_marks and compress_primary_key settings in the <merge_tree> section of the server configuration file. Upgrade notes: If you upgrade from versions prior to 22.9, you should either upgrade all replicas at once or disable the compression before upgrade, or upgrade through an intermediate version, where the compressed marks are supported but not enabled by default, such as 23.3. #42587 (Alexey Milovidov).
  • When reading from multiple files reduce parallel parsing threads for each file resolves #42192. #46661 (SmitaRKulkarni).
  • Do not store blocks in ANY hash join if nothing is inserted. #48633 (vdimir).
  • Fixes aggregate combinator -If when JIT compiled. Closes #48120. #49083 (Igor Nikonov).
  • For reading from remote tables we use smaller tasks (instead of reading the whole part) to make tasks stealing work * task size is determined by size of columns to read * always use 1mb buffers for reading from s3 * boundaries of cache segments aligned to 1mb so they have decent size even with small tasks. it also should prevent fragmentation. #49287 (Nikita Taranov).
  • Default size of a read buffer for reading from local filesystem changed to a slightly better value. Also two new settings are introduced: max_read_buffer_size_local_fs and max_read_buffer_size_remote_fs. #49321 (Nikita Taranov).
  • Improve memory usage and speed of SPARSE_HASHED/HASHED dictionaries (e.g. SPARSE_HASHED now eats 2.6x less memory, and is ~2x faster). #49380 (Azat Khuzhin).
  • Use aggregate projection only if it reads fewer granules than normal reading. It should help in case if query hits the PK of the table, but not the projection. Fixes #49150. #49417 (Nikolai Kochetov).
  • Optimize PODArray::resize_fill() callers. #49459 (Azat Khuzhin).
  • Optimize the system.query_log and system.query_thread_log tables by applying LowCardinality when appropriate. The queries over these tables will be faster. #49530 (Alexey Milovidov).
  • Better performance when reading local Parquet files (through parallel reading). #49539 (Michael Kolupaev).
  • Improve the performance of RIGHT/FULL JOIN by up to 2 times in certain scenarios, especially when joining a small left table with a large right table. #49585 (lgbo).
  • Improve performance of BLAKE3 by 11% by enabling LTO for Rust. #49600 (Azat Khuzhin).
  • Optimize the structure of the system.opentelemetry_span_log. Use LowCardinality where appropriate. Although this table is generally stupid (it is using the Map data type even for common attributes), it will be slightly better. #49647 (Alexey Milovidov).
  • Try to reserve hash table's size in grace_hash join. #49816 (lgbo).
  • As is addresed in issue #49748, the predicates with date converters, such as toYear, toYYYYMM, could be rewritten with the equivalent date (YYYY-MM-DD) comparisons at the AST level. And this transformation could bring performance improvement as it is free from the expensive date converter and the comparison between dates (or integers in the low level representation) is quite low-cost. The prototype shows that, with all identified date converters optimized, the overall QPS of the 13 queries is enhanced by ~11% on the ICX server (Intel Xeon Platinum 8380 CPU, 80 cores, 160 threads). #50062 (Zhiguo Zhou).
  • Parallel merge of uniqExactIf states. Closes #49885. #50285 (flynn).
  • As is addresed in issue #49748, the predicates with date converters, such as toYear, toYYYYMM, could be rewritten with the equivalent date (YYYY-MM-DD) comparisons at the AST level. And this transformation could bring performance improvement as it is free from the expensive date converter and the comparison between dates (or integers in the low level representation) is quite low-cost. #50307 (Zhiguo Zhou).
  • Parallel merging supported for uniqExact with modifiers -Array, -Merge, -OrNull, -State. #50413 (flynn).
  • Enable LZ4_FAST_DEC_LOOP for Arm LZ4 to get 5% of decompression speed. #50588 (Daniel Kutenin).

Improvement

  • Add support for CGroup version 2 for asynchronous metrics about the memory usage and availability. This closes #37983. #45999 (sichenzhao).
  • Cluster table functions should always skip unavailable shards. close #46314. #46765 (zk_kiger).
  • When your csv file contains empty columns, like ```. #47496 (你不要过来啊).
  • ROW POLICY for all tables that belong to a DATABASE. #47640 (Ilya Golshtein).
  • Add Google Cloud Storage S3 compatible table function gcs. Like the oss and cosn functions, it is just an alias over the s3 table function, and it does not bring any new features. #47815 (Kuba Kaflik).
  • Add ability to use strict parts size for S3 (compatibility with CloudFlare R2 S3 Storage). #48492 (Azat Khuzhin).
  • Added new columns with info about Replicated database replicas to system.clusters: database_shard_name, database_replica_name, is_active. Added an optional FROM SHARD clause to SYSTEM DROP DATABASE REPLICA query. #48548 (Alexander Tokmakov).
  • Add a new column zookeeper_name in system.replicas, to indicate on which (auxiliary) zookeeper cluster the replicated table's metadata is stored. #48549 (cangyin).
  • IN operator support compare Date and Date32. Closes #48736. #48806 (flynn).
  • Support for erasure codes in HDFS, author: @M1eyu2018, @tomscut. #48833 (M1eyu).
  • The query cache can now supports queries with totals and extremes modifier. #48853 (Robert Schulze).
  • Introduces new keyword INTO OUTFILE 'file.txt' APPEND. #48880 (alekar).
  • The BACKUP command will not decrypt data from encrypted disks while making a backup. Instead the data will be stored in a backup in encrypted form. Such backups can be restored only to an encrypted disk with the same (or extended) list of encryption keys. #48896 (Vitaly Baranov).
  • Keeper improvement: add CheckNotExists request to Keeper. #48897 (Antonio Andelic).
  • Implement SYSTEM DROP REPLICA from auxillary ZooKeeper clusters, may be close #48931. #48932 (wangxiaobo).
  • Add Array data type to MongoDB. Closes #48598. #48983 (Nikolay Degterinsky).
  • Keeper performance improvements: avoid serializing same request twice while processing. Cache deserialization results of large requests. Controlled by new coordination setting min_request_size_for_cache. #49004 (Antonio Andelic).
  • Support storing Interval data types in tables. #49085 (larryluogit).
  • Add support for size suffixes in quota creation statement parameters. #49087 (Eridanus).
  • Allow using ntile window function without explicit window frame definition: ntile(3) OVER (ORDER BY a), close #46763. #49093 (vdimir).
  • Added settings (number_of_mutations_to_delay, number_of_mutations_to_throw) to delay or throw ALTER queries that create mutations (ALTER UPDATE, ALTER DELETE, ALTER MODIFY COLUMN, ...) in case when table already has a lot of unfinished mutations. #49117 (Anton Popov).
  • Added setting async_insert for MergeTables. It has the same meaning as query-level setting async_insert and enables asynchronous inserts for specific table. Note: it doesn't take effect for insert queries from clickhouse-client, use query-level setting in that case. #49122 (Anton Popov).
  • Catch exception from create_directories in filesystem cache. #49203 (Kseniia Sumarokova).
  • Copies embedded examples to a new field example in system.functions to supplement the field description. #49222 (Dan Roscigno).
  • Enable connection options for the MongoDB dictionary. Example: xml <source> <mongodb> <host>localhost</host> <port>27017</port> <user></user> <password></password> <db>test</db> <collection>dictionary_source</collection> <options>ssl=true</options> </mongodb> </source> ### Documentation entry for user-facing changes. #49225 (MikhailBurdukov).
  • Added an alias asymptotic for asymp computational method for kolmogorovSmirnovTest. Improved documentation. #49286 (Nikita Mikhaylov).
  • Aggregation function groupBitAnd/Or/Xor now work on signed integer data. This makes them consistent with the behavior of scalar functions bitAnd/Or/Xor. #49292 (exmy).
  • Split function-documentation into more fine-granular fields. #49300 (Robert Schulze).
  • Introduced settings: - merge_max_block_size_bytes to limit the amount of memory used for background operations. - vertical_merge_algorithm_min_bytes_to_activate to add another condition to activate vertical merges. #49313 (Nikita Mikhaylov).
  • Use multiple threads shared between all tables within a server to load outdated data parts. The the size of the pool and its queue is controlled by max_outdated_parts_loading_thread_pool_size and outdated_part_loading_thread_pool_queue_size settings. #49317 (Nikita Mikhaylov).
  • Don't overestimate the size of processed data for LowCardinality columns when they share dictionaries between blocks. This closes #49322. See also #48745. #49323 (Alexey Milovidov).
  • Parquet writer now uses reasonable row group size when invoked through OUTFILE. #49325 (Michael Kolupaev).
  • Allow restricted keywords like ARRAY as an alias if the alias is quoted. Closes #49324. #49360 (Nikolay Degterinsky).
  • Added possibility to use temporary tables in FROM part of ATTACH PARTITION FROM and REPLACE PARTITION FROM. #49436 (Roman Vasin).
  • Data parts loading and deletion jobs were moved to shared server-wide pools instead of per-table pools. Pools sizes are controlled via settings max_active_parts_loading_thread_pool_size, max_outdated_parts_loading_thread_pool_size and max_parts_cleaning_thread_pool_size in top-level config. Table-level settings max_part_loading_threads and max_part_removal_threads became obsolete. #49474 (Nikita Mikhaylov).
  • Allow ?password=pass in URL. Password is replaced in browser history. #49505 (Mike Kot).
  • Allow zero objects in ReadBufferFromRemoteFSGather (because empty files are not backuped, so we might end up with zero blobs in metadata file). Closes #49480. #49519 (Kseniia Sumarokova).
  • Attach thread MemoryTracker to total_memory_tracker after ThreadGroup detached. #49527 (Dmitry Novik).
  • Make Pretty formats prettier: squash blocks if not much time passed since the output of the previous block. This is controlled by a new setting output_format_pretty_squash_ms (100ms by default). This closes #49153. #49537 (Alexey Milovidov).
  • Add initial support to do JOINs with pure parallel replicas. #49544 (Raúl Marín).
  • Fix parameterized views when query parameter used multiple times in the query. #49556 (Azat Khuzhin).
  • Release memory allocated for the last sent ProfileEvents snapshot in the context of a query. Followup #47564. #49561 (Dmitry Novik).
  • Function "makeDate" now provides a MySQL-compatible overload (year & day of the year argument). #49603 (Robert Schulze).
  • More parallelism on Outdated parts removal with "zero-copy replication". #49630 (Alexander Tokmakov).
  • Reduced number of List ZooKeeper requests when selecting parts to merge and a lot of partitions do not have anything to merge. #49637 (Alexander Tokmakov).
  • Support dictionary table function for RegExpTreeDictionary. #49666 (Han Fei).
  • Added weighted fair IO scheduling policy. Added dynamic resource manager, which allows IO scheduling hierarchy to be updated in runtime w/o server restarts. #49671 (Sergei Trifonov).
  • Add compose request after multipart upload to GCS. This enables the usage of copy operation on objects uploaded with the multipart upload. It's recommended to set s3_strict_upload_part_size to some value because compose request can fail on objects created with parts of different sizes. #49693 (Antonio Andelic).
  • Improve the "best-effort" parsing logic to accept key_value_delimiter as a valid part of the value. This also simplifies branching and might even speed up things a bit. #49760 (Arthur Passos).
  • Facilitate profile data association and aggregation for the same query. #49777 (helifu).
  • System log tables can now have custom sorting keys. #49778 (helifu).
  • A new field 'partitions' is used to indicate which partitions are participating in the calculation. #49779 (helifu).
  • Added enable_the_endpoint_id_with_zookeeper_name_prefix setting for ReplicatedMergeTree (disabled by default). When enabled, it adds ZooKeeper cluster name to table's interserver communication endpoint. It avoids Duplicate interserver IO endpoint errors when having replicated tables with the same path, but different auxiliary ZooKeepers. #49780 (helifu).
  • Add query parameters to clickhouse-local. Closes #46561. #49785 (Nikolay Degterinsky).
  • Qpl_deflate codec lower the minimum simd version to sse 4.2. doc change in qpl - intel® qpl relies on a run-time kernels dispatcher and cpuid check to choose the best available implementation(sse/avx2/avx512) - restructured cmakefile for qpl build in clickhouse to align with latest upstream qpl. #49811 (jasperzhu).
  • Allow loading dictionaries and functions from YAML by default. In previous versions, it required editing the dictionaries_config or user_defined_executable_functions_config in the configuration file, as they expected *.xml files. #49812 (Alexey Milovidov).
  • The Kafka table engine now allows to use alias columns. #49824 (Aleksandr Musorin).
  • Add setting to limit the max number of pairs produced by extractKeyValuePairs, safeguard to avoid using way too much memory. #49836 (Arthur Passos).
  • Add support for (an unusual) case where the arguments in the IN operator are single-element tuples. #49844 (MikhailBurdukov).
  • bitHammingDistance function support String and FixedString data type. Closes #48827. #49858 (flynn).
  • Fix timeout resetting errors in the client on OS X. #49863 (alekar).
  • Add support for big integers, such as UInt128, Int128, UInt256, and Int256 in the function bitCount. This enables Hamming distance over large bit masks for AI applications. #49867 (Alexey Milovidov).
  • This PR makes fingerprints to be used instead of key IDs in encrypted disks. #49882 (Vitaly Baranov).
  • Add UUID data type to PostgreSQL. Closes #49739. #49894 (Nikolay Degterinsky).
  • Make allow_experimental_query_cache setting as obsolete for backward-compatibility. It was removed in https://github.com/ClickHouse/ClickHouse/pull/47977. #49934 (Timur Solodovnikov).
  • Function toUnixTimestamp() now accepts Date and Date32 arguments. #49989 (Victor Krasnov).
  • Charge only server memory for dictionaries. #49995 (Azat Khuzhin).
  • Add schema inference to PostgreSQL, MySQL, MeiliSearch, and SQLite table engines. Closes #49972. #50000 (Nikolay Degterinsky).
  • The server will allow using the SQL_* settings such as SQL_AUTO_IS_NULL as no-ops for MySQL compatibility. This closes #49927. #50013 (Alexey Milovidov).
  • Preserve initial_query_id for ON CLUSTER queries, which is useful for introspection (under distributed_ddl_entry_format_version=5). #50015 (Azat Khuzhin).
  • Preserve backward incompatibility for renamed settings by using aliases (allow_experimental_projection_optimization for optimize_use_projections, allow_experimental_lightweight_delete for enable_lightweight_delete). #50044 (Azat Khuzhin).
  • Support cross-replication in distributed queries using the new infrastructure. #50097 (Dmitry Novik).
  • Support passing fqdn through setting my_hostname to register cluster node in keeper. Add setting of invisible to support multi compute groups. A compute group as a cluster, is invisible to other compute groups. #50186 (Yangkuan Liu).
  • Fix PostgreSQL reading all the data even though LIMIT n could be specified. #50187 (Kseniia Sumarokova).
    1. Fixed an error NOT_FOUND_COLUMN_IN_BLOCK in case of using parallel replicas with non-replicated storage with disabled setting parallel_replicas_for_non_replicated_merge_tree 2) Now allow_experimental_parallel_reading_from_replicas have 3 possible values - 0, 1 and 2. 0 - disabled, 1 - enabled, silently disable them in case of failure (in case of FINAL or JOIN), 2 - enabled, throw an expection in case of failure. 3) If FINAL modifier is used in SELECT query and parallel replicas are enabled, ClickHouse will try to disable them if allow_experimental_parallel_reading_from_replicas is set to 1 and throw an exception otherwise. #50195 (Nikita Mikhaylov).
  • Don't send head request for all keys in Iceberg schema inference, only for keys that are used for reaing data. #50203 (Kruglov Pavel).
  • Add new profile events for queries with subqueries (QueriesWithSubqueries/SelectQueriesWithSubqueries/InsertQueriesWithSubqueries). #50204 (Azat Khuzhin).
  • Adding the roles field in the users.xml file, which allows specifying roles with grants via a config file. #50278 (pufit).
  • When parallel replicas are enabled they will always skip unavailable servers (the behavior is controlled by the setting skip_unavailable_shards, enabled by default and can be only disabled). This closes: #48565. #50293 (Nikita Mikhaylov).
  • Fix a typo. #50306 (helifu).
  • Setting enable_memory_bound_merging_of_aggregation_results is enabled by default. If you update from version prior to 22.12, we recommend to set this flag to false until update is finished. #50319 (Nikita Taranov).
  • Report CGroupCpuCfsPeriod and CGroupCpuCfsQuota in AsynchronousMetrics. - Respect cgroup v2 memory limits during server startup. #50379 (alekar).
  • Bump internal protobuf to v3.18 (fixes CVE-2022-1941). #50400 (Robert Schulze).
  • Bump internal libxml2 to v2.10.4 (fixes CVE-2023-28484 and CVE-2023-29469). #50402 (Robert Schulze).
  • Bump c-ares to v1.19.1 (CVE-2023-32067, CVE-2023-31130, CVE-2023-31147). #50403 (Robert Schulze).
  • Fix CVE-2022-2469 in libgsasl. #50404 (Robert Schulze).
  • Make filter push down through cross join. #50430 (Han Fei).
  • Add a signal handler for SIGQUIT to work the same way as SIGINT. Closes #50298. #50435 (Nikolay Degterinsky).
  • In case JSON parse fails due to the large size of the object output the last position to allow debugging. #50474 (Valentin Alexeev).
  • Support decimals with not fixed size. Closes #49130. #50586 (Kruglov Pavel).
  • Disable pure parallel replicas if trivial count optimization is possible. #50594 (Raúl Marín).
  • Added support of TRUNCATE db.table additional to TRUNCATE TABLE db.table in MaterializedMySQL. #50624 (Val Doroshchuk).
  • Disable parallel replicas automatically when the estimated number of granules is less than threshold. The behavior is controlled by a setting parallel_replicas_min_number_of_granules_to_enable. #50639 (Nikita Mikhaylov).
  • When creating skipping indexes via "ALTER TABLE table ADD INDEX", the "GRANULARITY" clause can now be omitted. In that case, GRANULARITY is assumed to be 1. #50658 (Robert Schulze).
  • Fix slow cache in presence of big inserts. #50680 (Kseniia Sumarokova).
  • Set default max_elements limit in filesystem cache to 10000000. #50682 (Kseniia Sumarokova).
  • SHOW INDICES is now an alias of statement SHOW INDEX/INDEXES/KEYS. #50713 (Robert Schulze).

Build/Testing/Packaging Improvement

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

Build Improvement

  • Fixed Functional Test 00870_t64_codec, 00871_t64_codec_signed, 00872_t64_bit_codec. #49658 (Sanjam Panda).

NO CL ENTRY

NOT FOR CHANGELOG / INSIGNIFICANT