mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-16 03:12:43 +00:00
108 KiB
108 KiB
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 settingallow_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 forgroupArray
/groupArrayLast
/groupArraySample
overNullable
types, which likely will lead toTOO_LARGE_ARRAY_SIZE
orCANNOT_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 settingdefault_password_type
in theconfig.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
andlast_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 privilegedisplaySecretsInShowAndSelect
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 functiongenerateRandom
. #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 anELSE
branch and extendedtransform
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
andmerges_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. AlsoMergesMutationsMemoryTracking
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 functionurl
. - Impove error message for table functionurl
. - 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
andmapfromstring
forextractkeyvaluepairs
. 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 byuse_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
, andMultiPolygon
) 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 andSHOW USER PROCESSES
query to show memory info and ProfileEvents on user level. #50492 (János Benjamin Antal). - Added storage engine
AzureBlobStorage
andazure_blob_storage
table function. The supported set of features is very similar to storage/table functionS3
. 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
andcompress_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
andmax_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
. UseLowCardinality
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 theoss
andcosn
functions, it is just an alias over thes3
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 tosystem.clusters
:database_shard_name
,database_replica_name
,is_active
. Added an optionalFROM SHARD
clause toSYSTEM 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 compareDate
andDate32
. 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 throwALTER
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
forMergeTables
. It has the same meaning as query-level settingasync_insert
and enables asynchronous inserts for specific table. Note: it doesn't take effect for insert queries fromclickhouse-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
insystem.functions
to supplement the fielddescription
. #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
forasymp
computational method forkolmogorovSmirnovTest
. 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
andoutdated_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
andmax_parts_cleaning_thread_pool_size
in top-level config. Table-level settingsmax_part_loading_threads
andmax_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
afterThreadGroup
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 settingoutput_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 forRegExpTreeDictionary
. #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 forReplicatedMergeTree
(disabled by default). When enabled, it adds ZooKeeper cluster name to table's interserver communication endpoint. It avoidsDuplicate 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
oruser_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 supportString
andFixedString
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 asSQL_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
foroptimize_use_projections
,allow_experimental_lightweight_delete
forenable_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). -
- Fixed an error
NOT_FOUND_COLUMN_IN_BLOCK
in case of using parallel replicas with non-replicated storage with disabled settingparallel_replicas_for_non_replicated_merge_tree
2) Nowallow_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 ifallow_experimental_parallel_reading_from_replicas
is set to 1 and throw an exception otherwise. #50195 (Nikita Mikhaylov).
- Fixed an error
- 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 tofalse
until update is finished. #50319 (Nikita Taranov). - Report
CGroupCpuCfsPeriod
andCGroupCpuCfsQuota
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
- New and improved keeper-bench. Everything can be customized from yaml/XML file: - request generator - each type of request generator can have a specific set of fields - multi requests can be generated just by doing the same under
multi
key - for each request or subrequest in multi aweight
field can be defined to control distribution - define trees that need to be setup for a test run - hosts can be defined with all timeouts customizable and it's possible to control how many sessions to generate for each host - integers defined withmin_value
andmax_value
fields are random number generators. #48547 (Antonio Andelic). - ... Add a test to check max_rows_to_read_leaf behaviour. #48950 (Sean Haynes).
- Io_uring is not supported on macos, don't choose it when running tests on local to avoid occassional failures. #49250 (Frank Chen).
- Support named fault injection for testing. #49361 (Han Fei).
- Fix the 01193_metadata_loading test to match the query execution time specific to s390x. #49455 (MeenaRenganathan22).
- Use the RapidJSONParser library to parse the JSON float values in case of s390x. #49457 (MeenaRenganathan22).
- Allow running ClickHouse in the OS where the
prctl
(process control) syscall is not available, such as AWS Lambda. #49538 (Alexey Milovidov). - Improve CI check with an enabled analyzer. Now it should be green if only tests from
tests/broken_tests.txt
are broken. #49562 (Dmitry Novik). - Fixed the issue of build conflict between contrib/isa-l and isa-l in qpl 49296. #49584 (jasperzhu).
- Utilities are now only build if explicitly requested ("-DENABLE_UTILS=1") instead of by default, this reduces link times in typical development builds. #49620 (Robert Schulze).
- Pull build description of idxd-config into a separate CMake file to avoid accidental removal in future. #49651 (jasperzhu).
- Add CI check with an enabled analyzer in the master. Followup #49562. #49668 (Dmitry Novik).
- Switch to LLVM/clang 16. #49678 (Azat Khuzhin).
- Fixed DefaultHash64 for non-64 bit integers on s390x. #49833 (Harry Lee).
- Allow building ClickHouse with clang-17. #49851 (Alexey Milovidov).
- ClickHouse is now easier to be integrated into other cmake projects. #49991 (Amos Bird).
- Link
boost::context
library toclickhouse_common_io
. This closes: #50381. #50385 (HaiBo Li). - Add support for building with clang-17. #50410 (Alexey Milovidov).
- Fix strange additional QEMU logging after #47151, see https://s3.amazonaws.com/clickhouse-test-reports/50078/a4743996ee4f3583884d07bcd6501df0cfdaa346/stateless_tests__release__databasereplicated__[3_4].html. #50442 (Mikhail f. Shiryaev).
- ClickHouse can work on Linux RISC-V 6.1.22. This closes #50456. #50457 (Alexey Milovidov).
Bug Fix (user-visible misbehavior in an official stable release)
- ActionsDAG: fix wrong optimization #47584 (Salvatore Mesoraca).
- Correctly handle concurrent snapshots in Keeper #48466 (Antonio Andelic).
- MergeTreeMarksLoader holds DataPart instead of DataPartStorage #48515 (SmitaRKulkarni).
- sequence state fix #48603 (Ilya Golshtein).
- Back/Restore concurrency check on previous fails #48726 (SmitaRKulkarni).
- Fix Attaching a table with non-existent ZK path does not increase the ReadonlyReplica metric #48954 (wangxiaobo).
- Fix possible terminate called for uncaught exception in some places #49112 (Kruglov Pavel).
- Fix key not found error for queries with multiple StorageJoin #49137 (vdimir).
- Fix wrong query result when using nullable primary key #49172 (Duc Canh Le).
- Revert "Fix GCS native copy (#48981)" #49194 (Raúl Marín).
- Fix reinterpretAs*() on big endian machines #49198 (Suzy Wang).
- Lock zero copy parts more atomically #49211 (alesapin).
- Fix race on Outdated parts loading #49223 (Alexander Tokmakov).
- Fix all key value is null and group use rollup return wrong answer #49282 (Shuai li).
- Fix calculating load_factor for HASHED dictionaries with SHARDS #49319 (Azat Khuzhin).
- Disallow configuring compression CODECs for alias columns #49363 (Timur Solodovnikov).
- Fix bug in removal of existing part directory #49365 (alesapin).
- Properly fix GCS when HMAC is used #49390 (Antonio Andelic).
- Fix fuzz bug when subquery set is not built when reading from remote() #49425 (Alexander Gololobov).
- Invert
shutdown_wait_unfinished_queries
#49427 (Konstantin Bogdanov). - Fix another zero copy bug #49473 (alesapin).
- Fix postgres database setting #49481 (Mal Curtis).
- Correctly handle s3Cluster arguments #49490 (Antonio Andelic).
- Fix bug in TraceCollector destructor. #49508 (Yakov Olkhovskiy).
- Fix AsynchronousReadIndirectBufferFromRemoteFS breaking on short seeks #49525 (Michael Kolupaev).
- Fix dictionaries loading order #49560 (Alexander Tokmakov).
- Forbid the change of data type of Object('json') column #49563 (Nikolay Degterinsky).
- Fix stress test (Logical error: Expected 7134 >= 11030) #49623 (Kseniia Sumarokova).
- Fix bug in DISTINCT #49628 (Alexey Milovidov).
- Fix: DISTINCT in order with zero values in non-sorted columns #49636 (Igor Nikonov).
- Fix one-off error in big integers found by UBSan with fuzzer #49645 (Alexey Milovidov).
- Fix reading from sparse columns after restart #49660 (Anton Popov).
- Fix assert in SpanHolder::finish() with fibers #49673 (Kruglov Pavel).
- Fix short circuit functions and mutations with sparse arguments #49716 (Anton Popov).
- Fix writing appended files to incremental backups #49725 (Vitaly Baranov).
- Ignore LWD column in checkPartDynamicColumns #49737 (Alexander Gololobov).
- Fix msan issue in randomStringUTF8() #49750 (Robert Schulze).
- Fix aggregate function kolmogorovSmirnovTest #49768 (FFFFFFFHHHHHHH).
- Fix settings aliases in native protocol #49776 (Azat Khuzhin).
- Fix
arrayMap
with array of tuples with single argument #49789 (Anton Popov). - Fix per-query IO/BACKUPs throttling settings #49797 (Azat Khuzhin).
- Fix setting NULL in profile definition #49831 (Vitaly Baranov).
- Fix a bug with projections and the aggregate_functions_null_for_empty setting (for query_plan_optimize_projection) #49873 (Amos Bird).
- Fix processing pending batch for Distributed async INSERT after restart #49884 (Azat Khuzhin).
- Fix assertion in CacheMetadata::doCleanup #49914 (Kseniia Sumarokova).
- fix
is_prefix
in OptimizeRegularExpression #49919 (Han Fei). - Fix metrics
WriteBufferFromS3Bytes
,WriteBufferFromS3Microseconds
andWriteBufferFromS3RequestsErrors
#49930 (Aleksandr Musorin). - Fix IPv6 encoding in protobuf #49933 (Yakov Olkhovskiy).
- Fix possible Logical error on bad Nullable parsing for text formats #49960 (Kruglov Pavel).
- Add setting output_format_parquet_compliant_nested_types to produce more compatible Parquet files #50001 (Michael Kolupaev).
- Fix logical error in stress test "Not enough space to add ..." #50021 (Kseniia Sumarokova).
- Avoid deadlock when starting table in attach thread of
ReplicatedMergeTree
#50026 (Antonio Andelic). - Fix assert in SpanHolder::finish() with fibers attempt 2 #50034 (Kruglov Pavel).
- Add proper escaping for DDL OpenTelemetry context serialization #50045 (Azat Khuzhin).
- Fix reporting broken projection parts #50052 (Amos Bird).
- JIT compilation not equals NaN fix #50056 (Maksim Kita).
- Fix crashing in case of Replicated database without arguments #50058 (Azat Khuzhin).
- Fix crash with
multiIf
and constant condition and nullable arguments #50123 (Anton Popov). - Fix invalid index analysis for date related keys #50153 (Amos Bird).
- do not allow modify order by when there are no order by cols #50154 (Han Fei).
- Fix broken index analysis when binary operator contains a null constant argument #50177 (Amos Bird).
- clickhouse-client: disallow usage of
--query
and--queries-file
at the same time #50210 (Alexey Gerasimchuck). - Fix UB for INTO OUTFILE extensions (APPEND / AND STDOUT) and WATCH EVENTS #50216 (Azat Khuzhin).
- Fix skipping spaces at end of row in CustomSeparatedIgnoreSpaces format #50224 (Kruglov Pavel).
- Fix iceberg metadata parsing #50232 (Kseniia Sumarokova).
- Fix nested distributed SELECT in WITH clause #50234 (Azat Khuzhin).
- Fix reconnecting of HTTPS session when target host IP was changed #50240 (Aleksei Filatov).
- Fix msan issue in keyed siphash #50245 (Robert Schulze).
- Fix bugs in Poco sockets in non-blocking mode, use true non-blocking sockets #50252 (Kruglov Pavel).
- Fix checksum calculation for backup entries #50264 (Vitaly Baranov).
- Fixed type conversion from Date/Date32 to DateTime64 when querying with DateTime64 index #50280 (Lucas Chang).
- Comparison functions NaN fix #50287 (Maksim Kita).
- JIT aggregation nullable key fix #50291 (Maksim Kita).
- Fix clickhouse-local crashing when writing empty Arrow or Parquet output #50328 (Michael Kolupaev).
- Fix crash when Pool::Entry::disconnect() is called #50334 (Val Doroshchuk).
- Improved fetch part by holding directory lock longer #50339 (SmitaRKulkarni).
- Fix bitShift* functions with both constant arguments #50343 (Kruglov Pavel).
- Fix Keeper deadlock on exception when preprocessing requests. #50387 (frinkr).
- Fix hashing of const integer values #50421 (Robert Schulze).
- Fix excessive memory usage for FINAL (due to too much streams usage) #50429 (Azat Khuzhin).
- Fix merge_tree_min_rows_for_seek/merge_tree_min_bytes_for_seek for data skipping indexes #50432 (Azat Khuzhin).
- Limit the number of in-flight tasks for loading outdated parts #50450 (Nikita Mikhaylov).
- Keeper fix: apply uncommitted state after snapshot install #50483 (Antonio Andelic).
- Fix incorrect constant folding #50536 (Alexey Milovidov).
- Fix logical error in stress test (Not enough space to add ...) #50583 (Kseniia Sumarokova).
- Fix converting Null to LowCardinality(Nullable) in values table function #50637 (Kruglov Pavel).
- Fix crash in anti/semi join #50638 (vdimir).
- Revert invalid RegExpTreeDictionary optimization #50642 (Johann Gan).
- Correctly disable async insert with deduplication when it's not needed #50663 (Antonio Andelic).
Build Improvement
- Fixed Functional Test 00870_t64_codec, 00871_t64_codec_signed, 00872_t64_bit_codec. #49658 (Sanjam Panda).
NO CL ENTRY
- NO CL ENTRY: 'Fix user MemoryTracker counter in async inserts'. #47630 (Dmitry Novik).
- NO CL ENTRY: 'Revert "Make
Pretty
formats even prettier."'. #49850 (Alexey Milovidov). - NO CL ENTRY: 'Update first_value.md:remove redundant 's''. #50331 (sslouis).
- NO CL ENTRY: 'Revert "less logs in WriteBufferFromS3"'. #50390 (Alexander Tokmakov).
NOT FOR CHANGELOG / INSIGNIFICANT
- Attempt to fix the "system.stack_trace" test #44627 (Alexey Milovidov).
- rework WriteBufferFromS3, add tests, add abortion #44869 (Sema Checherinda).
- Rework locking in fs cache #44985 (Kseniia Sumarokova).
- Update ubuntu_ami_for_ci.sh #47151 (Nikolai Kochetov).
- Implement status comment #48468 (Mikhail f. Shiryaev).
- Update curl to 8.0.1 (for CVEs) #48765 (Boris Kuschel).
- Fix some tests #48792 (Alexander Tokmakov).
- Bug Fix for 02432_s3_parallel_parts_cleanup.sql with zero copy replication #48865 (SmitaRKulkarni).
- Add AsyncLoader with dependency tracking and runtime prioritization #48923 (Sergei Trifonov).
- Fix incorrect createColumn call on join clause #48998 (Ongkong).
- Try fix flaky 01346_alter_enum_partition_key_replicated_zookeeper_long #49099 (Sergei Trifonov).
- Fix possible logical error "Cannot cancel. Either no query sent or already cancelled" #49106 (Kruglov Pavel).
- Refactor ColumnLowCardinality::cutAndCompact #49111 (Nikolai Kochetov).
- Fix tests with enabled analyzer #49116 (Dmitry Novik).
- Use
SharedMutex
instead ofUpgradableMutex
#49139 (Sergei Trifonov). - Don't add metadata_version file if it doesn't exist #49146 (alesapin).
- clearing s3 between tests in a robust way #49157 (Sema Checherinda).
- Align connect timeout with aws sdk default #49161 (Nikita Taranov).
- Fix test_encrypted_disk_replication #49193 (Vitaly Baranov).
- Allow using function
concat
withMap
type #49200 (Anton Popov). - Slight improvements to coordinator logging #49204 (Raúl Marín).
- Fix some typos in conversion functions #49221 (Raúl Marín).
- CMake: Remove some GCC-specific code #49224 (Robert Schulze).
- Fix oss-fuzz build errors #49236 (Nikita Taranov).
- Update version after release #49237 (Alexey Milovidov).
- Update version_date.tsv and changelogs after v23.4.1.1943-stable #49239 (robot-clickhouse).
- Merge #24050 #49240 (Alexey Milovidov).
- Add file name to exception raised during decompression #49241 (Nikolay Degterinsky).
- Disable ISA-L on aarch64 architectures #49256 (Jordi Villar).
- Add a comment in FileCache.cpp #49260 (Kseniia Sumarokova).
- Fix garbage #48719 #49263 (Alexey Milovidov).
- Update build for nasm #49288 (Robert Schulze).
- Fix race in
waitForProcessingQueue
#49302 (Alexander Tokmakov). - Fix stress test #49309 (Kseniia Sumarokova).
- Fix 02516_join_with_totals_and_subquery_bug with new analyzer #49310 (Dmitry Novik).
- Fallback auth gh api #49314 (Mikhail f. Shiryaev).
- Unpoison stack frame ptrs from libunwind for msan #49316 (Robert Schulze).
- Respect projections in 01600_parts #49318 (Nikolai Kochetov).
- move pipe compute into initializePipeline #49326 (Konstantin Morozov).
- Fix compiling average example (suppress -Wframe-larger-than) #49358 (Azat Khuzhin).
- Fix join_use_nulls in analyzer #49359 (vdimir).
- Fix 02680_mysql_ast_logical_err in analyzer #49362 (vdimir).
- Remove wrong assertion in cache #49376 (Kseniia Sumarokova).
- A better way of excluding ISA-L on non-x86 #49378 (Robert Schulze).
- Fix decimal aggregates test for s390x #49382 (Harry Lee).
- Move logging one line higher #49387 (Kseniia Sumarokova).
- Improve CI: status commit, auth for get_gh_api #49388 (Mikhail f. Shiryaev).
- Fix printing hung queries in clickhouse-test. #49389 (Nikolai Kochetov).
- Correctly stop CNF convert for too many atomics in new analyzer #49402 (Antonio Andelic).
- Remove 02707_complex_query_fails_analyzer test #49403 (Dmitry Novik).
- Update FileSegment.cpp #49411 (Kseniia Sumarokova).
- Switch Block::NameMap to google::dense_hash_map over HashMap #49412 (Azat Khuzhin).
- Slightly reduce inter-header dependencies #49413 (Azat Khuzhin).
- Update WithFileName.cpp #49414 (Nikolay Degterinsky).
- Fix some assertions failing in stress test #49415 (Kseniia Sumarokova).
- Correctly cleanup sequential node in ZooKeeperWithFaultInjection #49418 (vdimir).
- Throw an exception for non-parametric functions in new analyzer #49419 (Dmitry Novik).
- Fix some bad error messages #49420 (Alexander Tokmakov).
- Update version_date.tsv and changelogs after v23.4.2.11-stable #49422 (robot-clickhouse).
- Remove trash #49423 (Alexey Milovidov).
- Whitespaces #49424 (Alexey Milovidov).
- Remove dependency from DB::Context in remote/cache readers #49426 (Kseniia Sumarokova).
- Merging #49066 (Better error handling during loading of parts) #49430 (Anton Popov).
- all s3-blobs removed when merge aborted, remove part from failed fetch without unlock keper #49432 (Sema Checherinda).
- Make INSERT do more things in parallel to avoid getting bottlenecked on one thread #49434 (Michael Kolupaev).
- Make 'exceptions shorter than 30' test less noisy #49435 (Michael Kolupaev).
- Build fixes for ENABLE_LIBRARIES=OFF #49437 (Azat Khuzhin).
- Add image for docker-server jepsen #49452 (alesapin).
- Follow-up to #48792 #49458 (Alexander Tokmakov).
- Add method
getCurrentAvailabilityZone
toAWSEC2MetadataClient
#49464 (Kseniia Sumarokova). - Add an integration test for
shutdown_wait_unfinished_queries
#49469 (Konstantin Bogdanov). - Replace
NO DELAY
withSYNC
in tests #49470 (Alexander Tokmakov). - Check the PRs body directly in lambda, without rerun. Fix RCE in the CI #49475 (Mikhail f. Shiryaev).
- Minor changes for setThreadName #49476 (Alexey Milovidov).
- Static cast std::atomic<size_t> to uint64_t to serialize. #49482 (alekar).
- Fix logical error in stress test, add some logging #49491 (Kseniia Sumarokova).
- Fixes in server jepsen image #49492 (alesapin).
- Fix UserTimeMicroseconds and SystemTimeMicroseconds descriptions #49521 (Sergei Trifonov).
- Remove garbage from HDFS #49531 (Alexey Milovidov).
- Split ReadWriteBufferFromHTTP.h into .h and .cpp file #49533 (Michael Kolupaev).
- Remove garbage from Pretty format #49534 (Alexey Milovidov).
- Make input_format_parquet_preserve_order imply !parallelize_output_from_storages #49536 (Michael Kolupaev).
- Remove extra semicolons #49545 (Bulat Gaifullin).
- Fix 00597_push_down_predicate_long for analyzer #49551 (Igor Nikonov).
- Fix stress test (assertion 'key_metadata.lock()') #49554 (Kseniia Sumarokova).
- Fix writeAnyEscapedString if quote_character is a meta character #49558 (Robert Schulze).
- Add CMake option for BOOST_USE_UCONTEXT #49564 (ltrk2).
- Fix 01655_plan_optimizations_optimize_read_in_window_order for analyzer #49565 (Igor Nikonov).
- Fix
ThreadPool::wait
#49572 (Anton Popov). - Query cache: disable for internal queries #49573 (Robert Schulze).
- Remove
test_merge_tree_s3_restore
#49576 (Alexey Milovidov). - Fix bad test #49578 (Alexey Milovidov).
- Remove obsolete test about deprecated feature #49579 (Alexey Milovidov).
- Avoid error found by AST Fuzzer #49580 (Alexey Milovidov).
- Fix wrong assert #49581 (Alexey Milovidov).
- Flaky test 02723_zookeeper_name.sql #49592 (Sema Checherinda).
- Query Cache: Safeguard against empty chunks #49593 (Robert Schulze).
- 02723_zookeeper_name: Force a deterministic result order #49594 (Robert Schulze).
- Remove dangerous code (stringstream) #49595 (Alexey Milovidov).
- Remove some code #49596 (Alexey Milovidov).
- Remove "locale" #49597 (Alexey Milovidov).
- CMake: Cleanup utils build #49598 (Robert Schulze).
- Follow-up for #49580 #49604 (Alexey Milovidov).
- Fix typo #49605 (Alexey Milovidov).
- Fix bad test 01660_system_parts_smoke #49611 (Alexey Milovidov).
- Minor changes #49612 (Alexey Milovidov).
- Follow-up for #49576 #49615 (Alexey Milovidov).
- Fix error in #48300 #49616 (Alexey Milovidov).
- Fix typo: "as much slots" -> "as many slots" #49617 (Alexey Milovidov).
- Better concurrent parts removal with zero copy #49619 (alesapin).
- CMake: Remove legacy switch for ccache #49627 (Robert Schulze).
- Try to fix integration test 'test_ssl_cert_authentication' #49632 (Nikolay Degterinsky).
- Unflake 01660_system_parts_smoke #49633 (Robert Schulze).
- Add trash #49634 (Robert Schulze).
- Remove commented code #49635 (Alexey Milovidov).
- Add flaky test #49646 (Alexey Milovidov).
- Fix race in
Context::createCopy
#49663 (Anton Popov). - Disable 01710_projection_aggregation_in_order.sql #49667 (Alexander Tokmakov).
- Fix flaky 02684_bson.sql #49674 (Kruglov Pavel).
- Some cache cleanup after rework locking #49675 (Igor Nikonov).
- Correctly update log pointer during database replica recovery #49676 (Alexander Tokmakov).
- Enable distinct in order after fix #49636 #49677 (Igor Nikonov).
- Build fixes for RISCV64 #49688 (Azat Khuzhin).
- Add some logging #49690 (Kseniia Sumarokova).
- Fix a wrong built generator removal, use
depth=1
#49692 (Mikhail f. Shiryaev). - Fix member call on null pointer in AST fuzzer #49696 (Nikolay Degterinsky).
- Improve woboq codebrowser pipeline #49701 (Mikhail f. Shiryaev).
- Enable
do_not_evict_index_and_mark_files
by default #49702 (Nikita Taranov). - Backport fix for UBSan error in musl/logf.c #49705 (Nikita Taranov).
- Fix flaky test for
kolmogorovSmirnovTest
function #49710 (Nikita Mikhaylov). - Update clickhouse-test #49712 (Alexander Tokmakov).
- IBM s390x: ip encoding fix #49713 (Suzy Wang).
- Remove not used ErrorCodes #49715 (Sergei Trifonov).
- Disable mmap for StorageFile in clickhouse-server #49717 (Alexey Milovidov).
- Fix typo #49718 (Alexey Milovidov).
- Do not launch workflows for PRs w/o "can be tested" #49726 (Mikhail f. Shiryaev).
- Move assertions after logging #49729 (Kseniia Sumarokova).
- Docs: Fix sidebar label for dictionary table function #49730 (Robert Schulze).
- Do not allocate own buffer in CachedOnDiskReadBufferFromFile when
use_external_buffer == true
#49733 (Nikita Taranov). - fix convertation #49749 (Sema Checherinda).
- fix flaky test 02504_regexp_dictionary_ua_parser #49753 (Han Fei).
- Fix unit test
ExceptionFromWait
#49755 (Anton Popov). - Add forgotten lock (addition to #49117) #49757 (Anton Popov).
- Fix typo #49762 (Alexey Milovidov).
- Fix build of
libfiu
on clang-16 #49766 (Alexey Milovidov). - Update README.md #49782 (Tyler Hannan).
- Analyzer: fix column not found for optimized prewhere with sample by #49784 (vdimir).
- Typo: demange.cpp --> demangle.cpp #49799 (Robert Schulze).
- Analyzer: apply _CAST to constants only once #49800 (Dmitry Novik).
- Use CLOCK_MONOTONIC_RAW over CLOCK_MONOTONIC on Linux (fixes non monotonic clock) #49819 (Azat Khuzhin).
- README.md: 4 --> 5 #49822 (Robert Schulze).
- Allow ASOF JOIN over nullable right column #49826 (vdimir).
- Make 01533_multiple_nested test more reliable #49828 (Salvatore Mesoraca).
- What happens if I remove everything in msan_suppressions? #49829 (Robert Schulze).
- Update README.md #49832 (AnneClickHouse).
- Randomize enable_multiple_prewhere_read_steps setting #49834 (Alexander Gololobov).
- Analyzer: do not optimize GROUP BY keys with ROLLUP and CUBE #49838 (Dmitry Novik).
- Clearable hash table and zero values #49846 (Igor Nikonov).
- Reset vectorscan reference to an "official" repo #49848 (Robert Schulze).
- Enable few slow clang-tidy checks for clangd #49855 (Azat Khuzhin).
- Update QPL docs #49857 (Robert Schulze).
- Small-ish .clang-tidy update #49859 (Robert Schulze).
- Follow-up for clang-tidy #49861 (Robert Schulze).
- Fix "reference to local binding" after fixes for clang-17 #49874 (Azat Khuzhin).
- fix typo #49876 (JackyWoo).
- Log with warning if the server was terminated forcefully #49881 (Azat Khuzhin).
- Fix some tests #49889 (Alexander Tokmakov).
- use chassert in MergeTreeDeduplicationLog to have better log info #49891 (Han Fei).
- Multiple pools support for AsyncLoader #49893 (Sergei Trifonov).
- Fix stack-use-after-scope in resource manager test #49908 (Sergei Trifonov).
- Retry connection expired in test_rename_column/test.py #49911 (alesapin).
- Try to fix flaky test_distributed_load_balancing tests #49912 (Kruglov Pavel).
- Remove unused code #49918 (alesapin).
- Fix flakiness of test_distributed_load_balancing test #49921 (Azat Khuzhin).
- Add some logging #49925 (Kseniia Sumarokova).
- Support hardlinking parts transactionally #49931 (Michael Kolupaev).
- Fix for analyzer: 02377_ optimize_sorting_by_input_stream_properties_e… #49943 (Igor Nikonov).
- Follow up to #49429 #49964 (Kseniia Sumarokova).
- Fix flaky test_ssl_cert_authentication to use urllib3 #49982 (SmitaRKulkarni).
- Fix woboq codebrowser build with -Wno-poison-system-directories #49992 (Azat Khuzhin).
- test for #46128 #49993 (Denny Crane).
- Fix test_insert_same_partition_and_merge failing if one Azure request attempt fails #49996 (Michael Kolupaev).
- Check return value of
ftruncate
in Keeper #50020 (Antonio Andelic). - Add some assertions #50025 (Kseniia Sumarokova).
- Update 02441_alter_delete_and_drop_column.sql #50027 (Alexander Tokmakov).
- Move some common code to common #50028 (Kseniia Sumarokova).
- Add method getCredentials() to S3::Client #50030 (Kseniia Sumarokova).
- Update query_log.md #50032 (Sergei Trifonov).
- Get rid of indirect write buffer in object storages #50033 (Kseniia Sumarokova).
- Load balancing bugfixes #50036 (Sergei Trifonov).
- Update S3 sdk to v1.11.61 #50037 (Nikita Taranov).
- Fix 02735_system_zookeeper_connection for DatabaseReplicated #50047 (Azat Khuzhin).
- Add more profile events for distributed connections #50051 (Sergei Trifonov).
- FileCache: simple tryReserve() cleanup #50059 (Igor Nikonov).
- Fix hashed/sparse_hashed dictionaries max_load_factor upper range #50065 (Azat Khuzhin).
- Clearer coordinator log #50101 (Raúl Marín).
- Analyzer: Do not execute table functions multiple times #50105 (Dmitry Novik).
- Update default settings for Replicated database #50108 (Alexander Tokmakov).
- Make async prefetched buffer work with arbitrary impl #50109 (Kseniia Sumarokova).
- Update github.com/distribution/distribution #50114 (Mikhail f. Shiryaev).
- Docs: Update clickhouse-local arguments #50138 (Robert Schulze).
- Change fields destruction order in AsyncTaskExecutor #50151 (Kruglov Pavel).
- Follow-up to #49889 #50152 (Alexander Tokmakov).
- Clarification comment on retries controller behavior #50155 (Igor Nikonov).
- Switch to upstream repository of vectorscan #50159 (Azat Khuzhin).
- Refactor lambdas, prepare to prio runners #50160 (Mikhail f. Shiryaev).
- Speed-up the shellcheck with parallel xargs #50164 (Mikhail f. Shiryaev).
- Update an exception message #50180 (Alexander Tokmakov).
- Upgrade boost submodule #50188 (ltrk2).
- Implement a uniform way to query processor core IDs #50190 (ltrk2).
- Don't replicate delete through DDL worker if there is just 1 shard #50193 (Alexander Gololobov).
- Fix codebrowser by using clang-15 image #50197 (Mikhail f. Shiryaev).
- Add comments to build reports #50200 (Alexander Tokmakov).
- Automatic backports of important fixes to cloud-release #50202 (Mikhail f. Shiryaev).
- Unify priorities: lower value means higher priority #50205 (Sergei Trifonov).
- Use transactions for encrypted disks #50206 (alesapin).
- Get detailed error instead of unknown error for function test #50207 (Suzy Wang).
- README.md: Remove Berlin Meetup from upcoming events #50218 (Robert Schulze).
- Minor adjustment of clickhouse-client/local parameter docs #50219 (Robert Schulze).
- Unify priorities: rework IO scheduling subsystem #50231 (Sergei Trifonov).
- Add new metrics BrokenDistributedBytesToInsert/DistributedBytesToInsert #50238 (Azat Khuzhin).
- Fix URL in backport comment #50241 (pufit).
- Fix
02535_max_parallel_replicas_custom_key
#50242 (Antonio Andelic). - Fixes for MergeTree with readonly disks #50244 (Alexander Tokmakov).
- Yet another refactoring #50257 (Anton Popov).
- Unify priorities: rework AsyncLoader #50272 (Sergei Trifonov).
- buffers d-tor finalize free #50275 (Sema Checherinda).
- Fix 02767_into_outfile_extensions_msan under analyzer #50290 (Azat Khuzhin).
- QPL: Add a comment about isal #50308 (Robert Schulze).
- Avoid clang 15 crash #50310 (Raúl Marín).
- Cleanup Annoy index #50312 (Robert Schulze).
- Fix flaky
AsyncLoader.StaticPriorities
unit test #50313 (Sergei Trifonov). - Update gtest_async_loader.cpp #50317 (Nikita Taranov).
- Fix IS (NOT) NULL operator priority #50327 (Nikolay Degterinsky).
- Update README.md #50340 (Tyler Hannan).
- do not fix the event list in test #50342 (Sema Checherinda).
- less logs in WriteBufferFromS3 #50347 (Sema Checherinda).
- Remove legacy install scripts superseded by universal.sh #50360 (Robert Schulze).
- Fail perf tests when too many queries slowed down #50361 (Nikita Taranov).
- Fix after #50109 #50362 (Kseniia Sumarokova).
- Fix log message #50363 (Kseniia Sumarokova).
- Compare functions NaN update test #50366 (Maksim Kita).
- Add re-creation for cherry-pick PRs #50373 (pufit).
- Without applying
prepareRightBlock
will cause mismatch block structrue #50383 (lgbo). - fix hung in unit tests #50391 (Sema Checherinda).
- Fix poll timeout in MaterializedMySQL #50392 (Alexander Tokmakov).
- Compile aggregate expressions enable by default #50401 (Maksim Kita).
- Update app.py #50407 (Nikita Taranov).
- reuse s3_mocks, rewrite test test_paranoid_check_in_logs #50408 (Sema Checherinda).
- test for #42610 #50409 (Denny Crane).
- Remove something #50411 (Alexey Milovidov).
- Mark the builds without results as pending #50415 (Mikhail f. Shiryaev).
- Revert "Fix msan issue in keyed siphash" #50426 (Alexander Tokmakov).
- Revert "Revert "less logs in WriteBufferFromS3" (#50390)" #50444 (Sema Checherinda).
- Paranoid fix for removing parts from ZooKeeper #50448 (Alexander Tokmakov).
- Add timeout for unit tests #50449 (Alexander Tokmakov).
- Changes related to an internal feature #50453 (Michael Kolupaev).
- Don't crash if config doesn't have logger section #50455 (Michael Kolupaev).
- Update function docs #50466 (Robert Schulze).
- Revert "make filter push down through cross join" #50467 (Alexander Tokmakov).
- Add some assertions #50470 (Kseniia Sumarokova).
- CI: Enable aspell on nested docs #50476 (Robert Schulze).
- Try fix flaky test test_async_query_sending #50480 (Kruglov Pavel).
- Disable 00534_functions_bad_arguments with msan #50481 (Alexander Tokmakov).
- Typos: Follow-up to #50476 #50482 (Robert Schulze).
- Remove unneeded Keeper test #50485 (Antonio Andelic).
- Fix KeyError in cherry-pick #50493 (pufit).
- Make typeid_cast for pointers noexcept #50495 (Sergey Kazmin ).
- less traces in logs #50518 (Sema Checherinda).
- Implement endianness-independent serialization for UUID #50519 (ltrk2).
- Remove strange object storage methods #50521 (alesapin).
- Fix low quality code around metadata in RocksDB (experimental feature never used in production) #50527 (Alexey Milovidov).
- Function if constant folding #50529 (Maksim Kita).
- Add profile events for fs cache eviction #50533 (Kseniia Sumarokova).
- QueryNode small fix #50535 (Maksim Kita).
- Control memory usage in generateRandom #50538 (Alexey Milovidov).
- Disable skim (Rust library) under memory sanitizer #50539 (Alexey Milovidov).
- MSan support for Rust #50541 (Azat Khuzhin).
- Make 01565_query_loop_after_client_error slightly more robust #50542 (Azat Khuzhin).
- Resize BufferFromVector underlying vector only pos_offset == vector.size() #50546 (auxten).
- Add async iteration to object storage #50548 (alesapin).
- skip extracting darwin toolchain in builder when unncessary #50550 (SuperDJY).
- Remove flaky test #50558 (Alexey Milovidov).
- Revert "Disable skim (Rust library) under memory sanitizer" #50574 (Azat Khuzhin).
- Analyzer: fix 01487_distributed_in_not_default_db #50587 (Dmitry Novik).
- Fix commit for DiskObjectStorage #50599 (alesapin).
- Fix Jepsen runs in PRs #50615 (Antonio Andelic).
- Revert incorrect optimizations #50629 (Raúl Marín).
- Disable 01676_clickhouse_client_autocomplete under UBSan #50636 (Nikita Taranov).
- Merging #50329 #50660 (Anton Popov).
- Revert "date_trunc function to always return DateTime type" #50670 (Nikita Mikhaylov).
- Fix flaky test 02461_prewhere_row_level_policy_lightweight_delete #50674 (Alexander Gololobov).
- Fix asan issue with analyzer and prewhere #50685 (Alexander Gololobov).
- Catch issues with dockerd during the build #50700 (Mikhail f. Shiryaev).
- Temporarily disable annoy index tests (flaky for analyzer) #50714 (Robert Schulze).
- Fix assertion from stress test #50718 (Kseniia Sumarokova).
- Fix flaky unit test #50719 (Kseniia Sumarokova).
- Show correct sharing state in system.query_cache #50728 (Robert Schulze).