mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-27 10:02:01 +00:00
84 KiB
84 KiB
sidebar_position | sidebar_label |
---|---|
1 | 2022 |
2022 Changelog
ClickHouse release v22.4.1.2305-prestable (77a82cc090
) FIXME as compared to v22.3.1.1262-prestable (92ab33f560
)
Backward Incompatible Change
- Function
yandexConsistentHash
(consistent hashing algorithm by Konstantin "kostik" Oblakov) is renamed tokostikConsistentHash
. The old name is left as an alias for compatibility. Although this change is backward compatible, we may remove the alias in subsequent releases, that's why it's recommended to update the usages of this function in your apps. #35553 (Alexey Milovidov). - Do not allow SETTINGS after FORMAT for INSERT queries (there is compatibility setting
parser_settings_after_format_compact
to accept such queries, but it is turned OFF by default). #35883 (Azat Khuzhin). - Changed hashed path for cache files. #36079 (Kseniia Sumarokova).
New Feature
- Added support for transactions for simple
MergeTree
tables. This feature is highly experimental and not recommended for production. Part of #22086. #24258 (Alexander Tokmakov). - Added load balancing setting for [Zoo]Keeper client. Closes #29617. #30325 (小路).
- New aggregation function groupSortedArray to obtain an array of first N values. #34055 (palegre-tiny).
- New functions minSampleSizeContinous and minSampleSizeConversion. #34354 (achimbab).
- Profiling on Processors level (under
log_processors_profiles
setting, ClickHouse will write time that processor spent during execution/waiting for data tosystem.processors_profile_log
table). #34355 (Azat Khuzhin). - Add
toEndOfMonth
function which rounds up a date or date with time to the last day of the month. #33501. #34394 (Habibullah Oladepo). - Add
h3PointDistM
,h3PointDistKm
,h3PointDistRads
,h3GetRes0Indexes
,h3GetPentagonIndexes
functions. #34568 (Bharat Nallan). - Introduce format
ProtobufList
. Fixes #16436. #35152 (Nikolai Kochetov). - A dedicated small package for
clickhouse-keeper
. #35308 (Mikhail f. Shiryaev). - added INTERPOLATE extension to the ORDER BY ... WITH FILL closes #34903. #35349 (Yakov Olkhovskiy).
- Added functions
minSampleSizeContinous
andminSampleSizeConversion
. Author @achimbab. #35360 (Maksim Kita). - Added functions
arrayFirstOrNull
,arrayLastOrNull
. Closes #35238. #35414 (Maksim Kita). - Allow to write remote fs cache on all write operations. Add
system.remote_filesystem_cache
table. Adddrop remote filesystem cache
query. Add introspection for s3 metadata withsystem.remote_data_paths
table. Closes #34021. Add cache option for merges by adding moderead_from_filesystem_cache_if_exists_otherwise_bypass_cache
(turned on by default for merges and can also be turned on by query setting with the same name). Rename cache related settings (remote_fs_enable_cache -> enable_filesystem_cache
, etc). #35475 (Kseniia Sumarokova). - Added functions makeDate(year, month, day), makeDate32(year, month, day). #35628 (Alexander Gololobov).
- Added function
flattenTuple
. It receives nested namedTuple
as an argument and returns a flattenTuple
which elements are the paths from the originalTuple
. E.g.:Tuple(a Int, Tuple(b Int, c Int)) -> Tuple(a Int, b Int, c Int)
.flattenTuple
can be used to select all paths from typeObject
as separate columns. #35690 (Anton Popov). - Support new type of quota
WRITTEN BYTES
to limit amount of written bytes during insert queries. #35736 (Anton Popov). - Implementation of makeDateTime() and makeDateTIme64(). #35934 (Alexander Gololobov).
- Support '\G;' at the end of query for FORMAT Vertical. Closes #36111. #36130 (yuuch).
- Adding random salt and appending to password to generate password hash. #36172 (Rajkumar Varada).
- Add setting throw_if_no_data_to_insert. Closes #36336. #36345 (flynn).
- Implement type inference for INSERT INTO function null(). Closes #36334. #36353 (flynn).
- ... #36436 (Rich Raposa).
Performance Improvement
- Speed up parts loading process of MergeTree to accelerate starting up of clickhouse-server. With this improvement, clickhouse-server was able to decrease starting up time from 75 minutes to 20 seconds, with 700k mergetree parts. #32928 (李扬).
- Sizes of hash tables used during aggregation now collected and used in later queries to avoid hash tables resizes. #33439 (Nikita Taranov).
- Multiple changes to improve ASOF join performance (1.2 - 1.6x as fast). It also adds support to use big integers. #34733 (Raúl Marín).
- URL storage engine now downloads multiple chunks in parallel if the endpoint supports HTTP Range. Two additional settings were added,
max_download_threads
andmax_download_buffer_size
, which control maximum number of threads a single query can use to download the file and the maximum number of bytes each thread can process. #35150 (Antonio Andelic). - parallelization of multipart upload into S3 storage. #35343 (Sergei Trifonov).
- Improve performance of ASOF JOIN if key is native integer. #35525 (Maksim Kita).
- A new query plan optimization. Evaluate functions after
ORDER BY
when possible. As an example, for a querySELECT sipHash64(number) FROM numbers(1e8) ORDER BY number LIMIT 5
, functionsipHash64
would be evaluated afterORDER BY
andLIMIT
, which gives ~20x speed up. #35623 (Nikita Taranov). - narrow mutex scope when setenv LIBHDFS3_CONF related issue #35292. #35646 (shuchaome).
- Improve performance of
hasAll
function using specializations for SSE and AVX2. Author @youennL-cs. #35723 (Maksim Kita). - 2 optimizations: - Optimize trivail count hive query - Speed up hive query by caching metadata of hive file. #36082 (李扬).
Improvement
- ... #21474 (nvartolomei).
- As talked in issue 27025, there is an improvement of the HasAll function using SIMD instruction (SSE and AVX2). Gtest tests have also been added. #27653 (youennL-cs).
- Proper support of setting
max_rows_to_read
in case of reading in order of sorting key and specified limit. Previously the exceptionLimit for rows or bytes to read exceeded
could be thrown even if query actually requires to read less amount of rows. #33230 (Anton Popov). - INTERVAL improvement - can be used with
[MILLI|MICRO|NANO]SECOND
. AddedtoStartOf[Milli|Micro|Nano]second()
functions. Added[add|subtract][Milli|Micro|Nano]second()
. #34353 (Andrey Zvonov). - System log tables allow to specify COMMENT in ENGINE declaration. Closes #33768. #34536 (Maksim Kita).
- added sanity checks on server startup (available memory and disk space, max thread count, etc). #34566 (Sergei Trifonov).
- Use minmax index for orc/parquet file in Hive Engine. Related pr: https://github.com/ClickHouse-Extras/arrow/pull/10. #34631 (李扬).
- If
port
is not specified in cluster configuration, default server port will be used. This closes #34769. #34772 (Alexey Milovidov). - Added better error messages in case of connection failed to MySQL. Closes #35128. #35234 (zzsmdfj).
- Add function
getTypeSerializationStreams
. For a specified type (which is detected from column), it returns an array with all the serialization substream paths. This function is useful mainly for developers. #35290 (李扬). -
- wchc operation is expensive and should not be in the four_letter_word_white_list defaults. #35320 (zhangyuli1).
- Added an ability to specify cluster secret in replicated database. #35333 (Nikita Mikhaylov).
- Add a new kind of row policies named
simple
. Before this PR we had two kinds or row policies:permissive
andrestrictive
. Asimple
row policy adds a new filter on a table without any side-effects like it was for permissive and restrictive policies. #35345 (Vitaly Baranov). - Remove testmode option, enable it unconditionally. #35354 (Kseniia Sumarokova).
- For table function
s3cluster
orHDFSCluster
orhive
, we can't get rightAccessType
byStorageFactory::instance().getSourceAccessType(getStorageTypeName())
. This pr fix it. #35365 (李扬). - For lts releases packages will be pushed to both lts and stable repos. #35382 (Mikhail f. Shiryaev).
- Support uuid for postgres engines. Closes #35384. #35403 (Kseniia Sumarokova).
- Add arguments
--user
,--password
,--host
,--port
for clickhouse-diagnostics. #35422 (李扬). - fix INSERT INTO table FROM INFILE does not display progress bar. #35429 (chen).
- Allow server to bind to low-numbered ports (e.g. 443). ClickHouse installation script will set
cap_net_bind_service
to the binary file. #35451 (Alexey Milovidov). - Add settings
input_format_orc_case_insensitive_column_matching
,input_format_arrow_case_insensitive_column_matching
, andinput_format_parquet_case_insensitive_column_matching
which allows ClickHouse to use case insensitive matching of columns while reading data from ORC, Arrow or Parquet files. #35459 (Antonio Andelic). - Propagate query and session settings for distributed DDL queries. Setting
distributed_ddl_entry_format_version
is set to 2 by default now. #35463 (Alexander Tokmakov). - Add sizes of subcolumns to
system.parts_columns
table. #35488 (Anton Popov). - It was possible to get stack overflow in distributed queries if one of the settings
async_socket_for_remote
anduse_hedged_requests
is enabled while parsing very deeply nested data type (at least in debug build). Closes #35509. #35524 (Kruglov Pavel). - Improve pasting performance and compatibility of clickhouse-client. This helps #35501. #35541 (Amos Bird).
- Added a support for automatic schema inference to
s3Cluster
table function. Synced the signatures ofs3
ands3Cluster
. #35544 (Nikita Mikhaylov). - Use multiple threads to download objects from S3. Downloading is controllable using
max_download_threads
andmax_download_buffer_size
settings. #35571 (Antonio Andelic). - Deduce absolute hdfs config path. #35572 (李扬).
-
- Use some tweaks and heuristics to determine numbers, strings, arrays, tuples and maps in CSV, TSV and TSVRaw data formats. Add setting
input_format_csv_use_best_effort_in_schema_inference
for CSV format that enables/disables using these heuristics, if it's disabled, we treat everything as string. Add similar settinginput_format_tsv_use_best_effort_in_schema_inference
for TSV/TSVRaw format. These settings are enabled by default. - Add Maps support for schema inference in Values format. - Fix possible segfault in schema inference in Values format. - Allow to skip columns with unsupported types in Arrow/ORC/Parquet formats. Add corresponding settings for it:input_format_{parquet|orc|arrow}_skip_columns_with_unsupported_types_in_schema_inference
. These settings are disabled by default. - Allow to convert a column with type Null to a Nullable column with all NULL values in Arrow/Parquet formats. - Allow to specify column names in schema inference via settingcolumn_names_for_schema_inference
for formats that don't contain column names (like CSV, TSV, JSONCompactEachRow, etc) - Fix schema inference in ORC/Arrow/Parquet formats in terms of working with Nullable columns. Previously all inferred types were not Nullable and it blocked reading Nullable columns from data, now it's fixed and all inferred types are always Nullable (because we cannot understand that column is Nullable or not by reading the schema). - Fix schema inference in Template format with CSV escaping rules. #35582 (Kruglov Pavel).
- Use some tweaks and heuristics to determine numbers, strings, arrays, tuples and maps in CSV, TSV and TSVRaw data formats. Add setting
- Add parallel parsing and schema inference for format
JSONAsObject
. #35592 (Anton Popov). - Added support for schema inference for
hdfsCluster
. #35602 (Nikita Mikhaylov). - Support schema inference for type
Object
in formatJSONEachRow
. Allow to convert columns of typeMap
to columns of typeObject
. #35629 (Anton Popov). - Add profile event counter
AsyncInsertBytes
about size of async INSERTs. #35644 (Alexey Milovidov). - Added
is_secure
column tosystem.query_log
which denotes if the client is using a secure connection over TCP or HTTP. #35705 (Antonio Andelic). - closes #35641 Allow EPHEMERAL without explicit default expression. #35706 (Yakov Olkhovskiy).
- Fix send_logs_level for clickhouse local. Closes #35653. #35716 (Kseniia Sumarokova).
- Improve columns ordering in schema inference for formats TSKV and JSONEachRow, closes #35640. Don't stop schema inference when reading empty row in schema inference for formats TSKV and JSONEachRow. #35724 (Kruglov Pavel).
- Add new setting
input_format_json_read_bools_as_numbers
that allows to infer and parse bools as numbers in JSON input formats. It's enabled by default. Suggested by @alexey-milovidov. #35735 (Kruglov Pavel). - Respect remote_url_allow_hosts for hive. #35743 (李扬).
- Support schema inference for insert select with using
input
table function. Get schema from insertion table instead of inferring it from the data in case of insert select from table functions that support schema inference. Closes #35639. #35760 (Kruglov Pavel). - Improve projection analysis to optimize trivial queries such as
count()
. #35788 (Amos Bird). - support ALTER TABLE t DETACH PARTITION (ALL). #35794 (awakeljw).
- Added an animation to the hourglass icon to indicate to the user that a query is running. #35860 (peledni).
- Now some
ALTER MODIFY COLUMN
queries forArrays
andNullable
types can be done at metadata level without mutations. For example, alter fromArray(Enum8('Option1'=1))
toArray(Enum8('Option1'=1, 'Option2'=2))
. #35882 (alesapin). - Now it's not allowed to
ALTER TABLE ... RESET SETTING
for non-existing settings for MergeTree engines family. Fixes #35816. #35884 (alesapin). - Improve settings configuration for s3 storage / table function. #35915 (Kseniia Sumarokova).
- Add some basic metrics to monitor engine=Kafka tables. #35916 (filimonov).
- Now
kafka_num_consumers
can be bigger than amount of physical cores in case of low resource machine (less than 16 cores). #35926 (alesapin). - Update unixodbc to mitigate CVE-2018-7485. #35943 (Mikhail f. Shiryaev).
- Require mutations for per-table TTL only when it had been changed. #35953 (Azat Khuzhin).
-
- Add
dns_max_consecutive_failures
setting to stop re-resolving cached DNS entries after a number of consecutive failures (5 by default). #35956 (Raúl Marín).
- Add
- ASTPartition::formatImpl should output ALL while executing ALTER TABLE t DETACH PARTITION ALL. #35987 (awakeljw).
clickhouse-keeper
starts answering 4-letter commands before getting the quorum. #35992 (Antonio Andelic).- Fix wrong assertion in replxx which happens when navigating back the history when the first line of input is a newline. Mark as improvement because it only affects debug build. This fixes #34511. #36007 (Amos Bird).
- If someone writes DEFAULT NULL in table definition, make data type Nullable. #35887. #36058 (chen).
- Added
thread_id
andquery_id
columns tosystem.zookeeper_log
table. #36074 (Alexander Tokmakov). - Auto assign numbers for Enum elements. #36101 (awakeljw).
- Reset thread name in
ThreadPool
toThreadPoolIdle
after job is done. This is to avoid displaying the old thread name for idle threads. This closes #36114. #36115 (Alexey Milovidov). - Support
UNSIGNED
modifier with unused parameters ofINT
. #36126 (awakeljw). - Add support for atomic exchange in OSX. #36133 (Raúl Marín).
- Update the progress bar after receiving every ProfileEvents packet. This change must fix the showing of outdated profiling data in client. #36202 (Dmitry Novik).
- Check ORC/Parquet/Arrow format magic bytes before loading file in memory to prevent high memory usage in case of wrong file format. #36209 (Kruglov Pavel).
- Allow queries
insert into function file(...) select from
for files with formats that don't support schema inference. For example:insert into function file(data.json) select 42
- such query didn't work previously. #36211 (Kruglov Pavel). - Send both stdin data and data from query/data from infile in client. Previously client ignored stdin data in case of both sources were present. Closes #36100. #36254 (Kruglov Pavel).
- Allow missing columns for mongo storage. Closes #36119. Closes #26490. #36272 (Kseniia Sumarokova).
- Input format parsers can synchronize after wrong value of
Bool
orMap
data types (see theinput_format_allow_errors_*
settings). #36333 (Alexey Milovidov). - Check for harmful environment variables like
LD_PRELOAD
at startup. It makes sense in Google Collab. This closes #36340. #36342 (Alexey Milovidov). - Fix #36307 #35891 possible range issues in automatic assigned enums, also fix error message. #36352 (awakeljw).
- hex function support for Int128/Int256/UInt128/UInt256. #36386 (Memo).
Bug Fix
- Add type checking when create materialized view. Try to close: #23684. #24896 (hexiaoting).
- Avoid erasing columns from a block if it doesn't exist while reading data from Hive. #35393 (lgbo).
- Added settings
input_format_ipv4_default_on_conversion_error
,input_format_ipv6_default_on_conversion_error
to allow insert of invalid ip address values as default into tables. Closes #35726. #35733 (Maksim Kita). - In FileSegmentsHolder::~FileSegmentsHolder(), when a segment is set to detach, it will assert its state is empty. However, in FileSegment::completeImpl(), when detach is set to true, its state may be PARTIALLY_DOWNLOADED_NO_CONTINUATION or SKIP_CACHE or PARTIALLY_DOWNLOADED, thus cause error in FileSegmentsHolder::~FileSegmentsHolder().
if (file_segment->detached) { /// This file segment is not owned by cache, so it will be destructed /// at this point, therefore no completion required. assert(file_segment->state() == FileSegment::State::EMPTY); file_segment_it = file_segments.erase(current_file_segment_it); continue; }
. #36452 (Han Shukai).
Build/Testing/Packaging Improvement
- Add backward compatibility check in stress test. Closes #25088. #27928 (Kruglov Pavel).
-
- Migrate package building to nfpm - Deprecate
release
script in favor ofpackages/build
- Build everything in clickhouse/binary-builder image (cleanup: clickhouse/deb-builder) - Add symbol stripping to cmake (todo: use $prefix/lib/$bin_dir/clickhouse/$binary.debug) - Fix issue with DWARF symbols - Add Alpine APK packages - Renamealien
toadditional_pkgs
. #33664 (Mikhail f. Shiryaev).
- Migrate package building to nfpm - Deprecate
- Add a night scan and upload for coverity. #34895 (Boris Kuschel).
-
- Switch to libcxx / libcxxabi from LLVM 14. #34906 (Raúl Marín).
- Add next batch of random settings in functional tests. #35047 (Kruglov Pavel).
- Fix stress-test report in CI, now we upload the runlog with information about started stress tests only once. #35093 (Mikhail f. Shiryaev).
-
- redo alpine image to use clean Dockerfile - [x] Create a script in tests/ci to build both ubuntu and alpine images - [x] Add clickhouse-keeper image (cc @nikitamikhaylov) - [x] Add build check to PullRequestCI - [x] Add a job to a ReleaseCI - [x] Add a job to MasterCI to build and push
clickhouse/clickhouse-server:head
andclickhouse/clickhouse-keeper:head
images for each merged PR. #35211 (Mikhail f. Shiryaev).
- redo alpine image to use clean Dockerfile - [x] Create a script in tests/ci to build both ubuntu and alpine images - [x] Add clickhouse-keeper image (cc @nikitamikhaylov) - [x] Add build check to PullRequestCI - [x] Add a job to a ReleaseCI - [x] Add a job to MasterCI to build and push
- Reverse
--no-prestable
key to match the logic. #35372 (Mikhail f. Shiryaev). - All disabled tests run longer than 30 seconds. #35413 (Mikhail f. Shiryaev).
- Fix copypaste error for clickhouse-keeper test. #35428 (zhangyuli1).
- Fix failed tests in: https://s3.amazonaws.com/clickhouse-test-reports/35422/32348779fd0bac5276727cfc01e75c625ecc69b9/fuzzer_astfuzzerubsan,actions//report.html. #35439 (李扬).
- Apply black formatter to python code and add a per-commit check. #35466 (Mikhail f. Shiryaev).
- Add a label to recognize a building task for every image. #35583 (Mikhail f. Shiryaev).
- Clean-up after functional test 02167 ... #35681 (Anton Kozlov).
- Minor improvement in contrib/krb5 build configuration. #35832 (Anton Kozlov).
- Update URL in test visualizer from
play-ci
toplay
(it was moved). #35872 (Alexey Milovidov). - Highlight headers in the PR template. Improve description checking logging. #35947 (Mikhail f. Shiryaev).
- Running with podman is failing: it complains about specifying the same volume twice. #35978 (Roman Nikonov).
- Add argument for total number of desired builds. #35999 (Mikhail f. Shiryaev).
-
- Add
_le_
method for ClickHouseVersion - Fix auto_version for an existing tag - docker_server now supports getting the version from tags - Add python unit tests to backport workflow - Move version_arg to version_helper, add tests. #36029 (Mikhail f. Shiryaev).
- Add
- Significant improvement in docker build-cache system. #36041 (Mikhail f. Shiryaev).
- After CVE-2022-24765 git needs additional config parameter when directory is owned by another user. #36193 (Mikhail f. Shiryaev).
- Add an option for build profiling (
-ftime-trace
). #36318 (Alexey Milovidov). - Delete old packaging infrastructure. #36330 (Mikhail f. Shiryaev).
- Fallback to a default event in case of broken API. #36412 (Mikhail f. Shiryaev).
- Check a number of required reports in BuilderSpecialReport. #36413 (Mikhail f. Shiryaev).
- Add a labeling for
Revert
PRs. #36422 (Mikhail f. Shiryaev).
Bug Fix (prestable release)
- call RemoteQueryExecutor with original_query instead of an rewritten query, elimate the AMBIGUOUS_COLUMN_NAME exception. #35748 (lgbo).
Bug Fix (user-visible misbehaviour in official stable or prestable release)
- Disallow ALTER TTL for engines that does not support it, to avoid breaking ATTACH TABLE (closes #33344). #33391 (zhongyuankai).
- Do not delay final part writing by default (fixes possible
Memory limit exceeded
duringINSERT
by addingmax_insert_delayed_streams_for_parallel_write
with default to 1000 for writes to s3 and disabled as before otherwise). #34780 (Azat Khuzhin). - fix issue:input_format_null_as_default does not work for DEFAULT expressions Closes #34890. #35039 (zzsmdfj).
- Fix mutations in tables with enabled sparse columns. #35284 (Anton Popov).
- Fix schema inference for TSKV format while using small max_read_buffer_size. #35332 (Kruglov Pavel).
- Fix partition pruning in case of comparison with constant in
WHERE
. If column and constant had different types, overflow was possible. Query could return an incorrect empty result. This fixes #35304. #35334 (Amos Bird). - Fix issue with non-existing directory https://github.com/ClickHouse/ClickHouse/runs/5588046879?check_suite_focus=true. #35376 (Mikhail f. Shiryaev).
- Fix possible deadlock in cache. #35378 (Kseniia Sumarokova).
- Fix wrong assets path in release workflow. #35379 (Mikhail f. Shiryaev).
- Cache fixes for high concurrency on corner cases. #35381 (Kseniia Sumarokova).
- Fix working with columns that are not needed in query in Arrow/Parquet/ORC formats, it prevents possible errors like
Unsupported <format> type <type> of an input column <column_name>
when file contains column with unsupported type and we don't use it in query. #35406 (Kruglov Pavel). - Skip empty chunks in GroupingAggregatedTransform. #35417 (Nikita Taranov).
- Now merges executed with zero copy replication will not spam logs with message
Found parts with the same min block and with the same max block as the missing part _ on replica _. Hoping that it will eventually appear as a result of a merge.
. #35430 (alesapin). - Fix excessive logging when using S3 as backend for MergeTree or as separate table engine/function. Fixes #30559. #35434 (alesapin).
- Fix wrong result of datetime64 when negative. Close #34831. #35440 (李扬).
- Fix bug in function
if
when resulting column type differs with resulting data type that led to logical errors likeLogical error: 'Bad cast from type DB::ColumnVector<int> to DB::ColumnVector<long>'.
. Closes #35367. #35476 (Kruglov Pavel). - Fix bug in Keeper which can lead to unstable client connections. Introduced in #35031. #35498 (alesapin).
- Fix crash for function
throwIf
with constant arguments. #35500 (Maksim Kita). - Fix crash during short circuit function evaluation when one of arguments is nullable constant. Closes #35497. Closes #35496. #35502 (Maksim Kita).
- Fix cast into IPv4, IPv6 address in IN section. Fixes #35528. #35534 (Maksim Kita).
- Fix parsing of IPv6 addresses longer than 39 characters. Closes #34022. #35539 (Maksim Kita).
- Fixed return type deduction for
caseWithExpression
. The type of the ELSE branch is now correctly taken into account. #35576 (Antonio Andelic). - Fix s3 engine getting virtual columns. Closes #35411. #35586 (Kseniia Sumarokova).
- Fix version string setting in version_helper.py. #35589 (Mikhail f. Shiryaev).
- Fix headers with named collections, add compression_method. Closes #35273. Closes #35269. #35593 (Kseniia Sumarokova).
- Setting
database_atomic_wait_for_drop_and_detach_synchronously
worked incorrectly forATTACH TABLE
query when previously detached table is still in use, It's fixed. #35594 (Alexander Tokmakov). - Fix possible segfault in materialised postgresql which happened if exception occurred when data, collected in memory, was synced into underlying tables. Closes #35611. #35614 (Kseniia Sumarokova).
- Fix
HashJoin
when columns withLowCardinality
type are used. This closes #35548. #35616 (Antonio Andelic). - Check remote_url_allow_hosts before schema inference in URL engine Closes #35064. #35619 (Kruglov Pavel).
- Fix positional arguments with aliases. Closes #35600. #35620 (Kseniia Sumarokova).
- Fix projection analysis which might lead to wrong query result when IN subquery is used. This fixes #35336. #35631 (Amos Bird).
- Fix usage of quota with asynchronous inserts. #35645 (Anton Popov).
- Fix server crash when large number of arguments are passed into
format
function. Please refer to the test file and see how to reproduce the crash. #35651 (Amos Bird). - Fix part checking logic for parts with projections. Error happened when projection and main part had different types. This is similar to https://github.com/ClickHouse/ClickHouse/pull/33774 . The bug is addressed by @caoyang10. #35667 (Amos Bird).
- Fix check asof join key nullability, close #35565. #35674 (Vladimir C).
- Fix possible loss of subcolumns in type
Object
. #35682 (Anton Popov). - Enable build with JIT compilation by default. #35683 (Maksim Kita).
- Fix possible
Can't adjust last granule
exception while reading subcolumns of typeObject
. #35687 (Anton Popov). - Fix bug in creating materialized view with subquery after server restart. Materialized view was not getting updated after inserts into underlying table after server restart. Closes #35511. #35691 (Kruglov Pavel).
- Fix dropping non-empty database in clickhouse local. Closes #35692. #35711 (Kseniia Sumarokova).
- Fix any/all(subquery) implementation. Closes #35489. #35727 (Kseniia Sumarokova).
- Fix bug in conversion from custom types to string that could lead to segfault or unexpected error messages. Closes #35752. #35755 (Kruglov Pavel).
- Now metadata for broken parts will be removed from metadata cache (introduced in #32928) on server start. #35759 (chen9t).
- fix filebuffer pos in RemoteReadBuffer When RemoteReadBuffer is consumed, its pos will increase, for example in HadoopSnappyReadBuffer::nextImpl. . #35771 (shuchaome).
- Fixes parsing of the arguments of the functions
extract
. Fixes #35751. #35799 (Nikolay Degterinsky). - Fix bug in indexes of not presented columns in -WithNames formats that led to error
INCORRECT_NUMBER_OF_COLUMNS
when the number of columns is more than 256. Closes #35793. #35803 (Kruglov Pavel). - Fix inserts to columns of type
Object
in case when there is data related to several partitions in insert query. #35806 (Anton Popov). - Respect only quota & period from groups, ignore shares (which are not really limit the number of the cores which can be used). #35815 (filimonov).
- Avoid processing per-column TTL multiple times. #35820 (Azat Khuzhin).
- fix issue: #34966. #35840 (zzsmdfj).
- Disable
session_log
because memory safety issue has been found by fuzzing. See #35714. #35873 (Alexey Milovidov). - Fix formatting of INSERT INFILE queries (missing quotes). #35886 (Azat Khuzhin).
- Fixed GA not reporting events. #35935 (peledni).
- Fix reading from
Kafka
tables whenkafka_num_consumers > 1
andkafka_thread_per_consumer = 0
. Returns parallel & multithreaded reading, accidentally broken in 21.11. Closes #35153. #35973 (filimonov). - Fix performance regression of scalar query optimization. #35986 (Amos Bird).
- Fix error while moving table with
JOIN
engine fromOrdinary
database toAtomic
, close #35686. #35995 (Vladimir C). - Fix error
Empty list of columns in SELECT query
in CROSS JOIN close #35672. #36033 (Vladimir C). - Fix possible incorrect result of
WINDOW
functions in queries withLIMIT
which was caused by wrong limit-push-down query plan optimization. Fixes #36071 and #23125. #36075 (Nikolai Kochetov). - Throw an exception when CH cannot execute a file instead of displaying success and silently failing. #36088 (Julian Gilyadov).
- Fix window view when is proc time and window kind larger than day, see code comment. #36109 (flynn).
- Fix bug of read buffer from hdfs. ReadBufferFromHDFSImpl::offset was misused as offset of working_buffer, but it is file offset. cc @kssenii. #36153 (李扬).
- Fix crash in ParallelReadBuffer. #36169 (Kruglov Pavel).
- Allow to convert empty strings to empty values of type
Objects
. #36179 (Anton Popov). - Fix possible segfault in schema inference for JSON formats. #36195 (Kruglov Pavel).
CREATE TABLE ... AS
might fail withReplica ... already exists
even ifReplicatedMergeTree
table was created with default arguments. It's fixed. Now{uuid}
macro is not unfolded when saving table metadata. Therefore, it's not allowed to moveReplicatedMergeTree
table fromAtomic
toOrdinary
database ifzookeeper_path
contains{uuid}
macro (or table was created with default engine arguments). Fixes #35577. #36200 (Alexander Tokmakov).- Fix reading of empty arrays in reverse order (in queries with descending sorting by prefix of primary key). #36215 (Anton Popov).
- Play UI was not able to display some resultsets, for example
SELECT * FROM dish
. #36283 (Alexey Milovidov). - Fix crash in ReadBufferFromHDFS in debug mode. . #36287 (zhanglistar).
- Fix "Cannot find column" error for distributed queries with LIMIT BY. #36454 (Azat Khuzhin).
NO CL ENTRY
- NO CL ENTRY: 'Revert "[WIP] New row policies"'. #35454 (Alexey Milovidov).
- NO CL ENTRY: 'remove ATOMIC_FLAG_INIT: depreciated in C++20 and warns in clang-14'. #35785 (Brendan Cox).
- NO CL ENTRY: 'Revert "Added support for schema inference for
hdfsCluster
"'. #35802 (Nikita Mikhaylov). - NO CL ENTRY: '[Snyk] Security upgrade mkdocs from 1.1.2 to 1.3.0'. #35864 (Snyk bot).
- NO CL ENTRY: 'Revert "Format changes for new docs"'. #35894 (Alexey Milovidov).
- NO CL ENTRY: 'Revert "clang-tidy report issues with Medium priority"'. #35941 (Alexey Milovidov).
- NO CL ENTRY: 'Revert "Fix crash in ParallelReadBuffer"'. #36210 (Alexander Tokmakov).
NOT FOR CHANGELOG / INSIGNIFICANT
- Improve backup and restore (experimental) #33985 (Vitaly Baranov).
- Do not leave any queries after test finish (and add a check into clickhouse-test) #34924 (Azat Khuzhin).
- libxml2 package under contrib directory is upgraded to 2.9.13 #35034 (Rajkumar Varada).
- Add bugfix validate check #35124 (Vladimir C).
- curl package upgraded to 7.81.0 #35130 (Deleted user).
- Add test for #26965 #35159 (palegre-tiny).
- clang-tidy report issues with Medium priority #35184 (Rajkumar Varada).
- Add build with GCC #35204 (Azat Khuzhin).
- Fix-Clang-Tidy-Errors #35297 (Heena Bansal).
- Other fix for 00900_long_parquet_load #35302 (Vladimir C).
- Add more checks with remoteHostsFilter #35355 (Kseniia Sumarokova).
- Fix clang-tidy #35356 (Anton Popov).
- Function h3GetRes0Indexes crash fix #35358 (Maksim Kita).
- Function proporationsZTest formatting fix #35369 (Maksim Kita).
- Update version after release #35374 (Mikhail f. Shiryaev).
- Update SECURITY.md #35375 (Ivan Blinkov).
- Update version_date.tsv after v22.3.2.2-lts #35377 (github-actions[bot]).
- Function proportionsZTest fix style check #35380 (Maksim Kita).
- Replace more uses of std::enable_if for SFINAE by concepts #35383 (Robert Schulze).
- Slightly better performance of inserts to
Object
type #35388 (Anton Popov). - Validate some thoughts over making sets #35395 (Amos Bird).
- Fix race in data type
Object
#35409 (Anton Popov). - Rename some variables in keeper #35431 (alesapin).
- fix 02177_issue_31009_pt2.sql #35445 (Vladimir C).
- mysqlxx PoolWithFailover style fix #35462 (Maksim Kita).
- Resubmit #21474 #35467 (Alexander Tokmakov).
- Explicitly set allow_introspection_functions to 0 #35470 (Nikita Taranov).
- Merging #30325 #35478 (Alexander Tokmakov).
- Fix show create for information_schema #35480 (Alexander Tokmakov).
- Add retries in backward compatibility check #35482 (Kruglov Pavel).
- Improve backward compatibility check and stress tests #35499 (Kruglov Pavel).
- Fix too strict assertion in DDLWorker #35503 (Alexander Tokmakov).
- Add more validations in mask operations #35507 (Kruglov Pavel).
- Fix crash with enabled
optimize_functions_to_subcolumns
#35512 (Anton Popov). - Don't put red cross if jepsen check couldn't wait for build #35522 (alesapin).
- Fix ClickHouse name typo in caches.md #35526 (erikbaan).
- Simplify strip for new packages #35533 (alesapin).
- Add workflow dispatch #35535 (alesapin).
- fix clang tidy warning, add nullptr check #35540 (Suzy Wang).
- Slightly better integration tests: test_backup_with_other_granularity test_azure_blob_storage_zero_copy_replication #35543 (Ilya Yatsishin).
- ExternalModelsLoader refactoring #35546 (Maksim Kita).
- Fixed style check #35550 (Maksim Kita).
- Cleanup test data #35555 (Alexey Milovidov).
- Revert "Decrease data_type_max_parse_depth a little to avoid stack overflow in coroutines" #35556 (Alexey Milovidov).
- Fix test
test_s3_zero_copy_replication
#35574 (Alexander Tokmakov). - Fix logging in
test_distributed_respect_user_timeouts
#35575 (Alexander Tokmakov). - Increase fiber stack size a bit in attempt to fix stack overflow in tests with address sanitizer #35578 (Kruglov Pavel).
- Don't run 01318_long_unsuccessful_mutation_zookeeper test in backward compatibility check #35580 (Kruglov Pavel).
- Make some tests more stable #35599 (Kruglov Pavel).
- Check all logs for crashes, logical errors, etc in backward compatibility check #35613 (Kruglov Pavel).
- Update comment about mismatching checksums #35621 (Alexander Tokmakov).
- Push only to the new CI DB #35622 (alesapin).
- Fix optin.cplusplus.UninitializedObject issue #35626 (larryluogit).
- test for partition_by using ignore() #35636 (Denny Crane).
- test for crash _join_with_nullable_lowcardinality #35551 #35638 (Denny Crane).
- Use compile-time check for
Exception
messages #35655 (Antonio Andelic). - Fix flaky test
01532_primary_key_without_order_by_zookeeper
#35657 (Alexander Tokmakov). - Fix multiple flaky tests #35659 (alesapin).
- Fix flaky test
01091_num_threads
#35663 (Alexander Tokmakov). - Improve black check: show diff in the output #35665 (Mikhail f. Shiryaev).
- Use float devision for avg after optimize_fuse_sum_count_avg #35666 (Vladimir C).
- Disable random settings in Fast Test #35669 (Alexander Tokmakov).
- Fix randomization of max_read_buffer_size #35675 (Alexander Tokmakov).
- Remove outdated links from CI #35676 (alesapin).
- Fix flaky tests 02149_read_in_order_fixed_prefix and 02177_issue_31009 #35679 (Kruglov Pavel).
- Rerun failed jobs only for failed workflowa #35685 (Mikhail f. Shiryaev).
- Fix flaky 01037_polygon_dicts_correctness_fast #35688 (Alexander Tokmakov).
- Fail CI checks in case of errors in checks (not failed tests) #35718 (alesapin).
- Try to fix test_global_overcommit_tracker flakyness #35719 (Dmitry Novik).
- Try to run stateful tests in parallel #35720 (Alexander Tokmakov).
- Format
test_allowed_url_from_config/test.py
with black #35721 (Antonio Andelic). - Resurrect automatic labelling #35722 (alesapin).
- Revert "Fix enable LLVM for JIT compilation in CMake" #35725 (Alexander Tokmakov).
- Do not require writable source directory for generating krb5 error tables #35734 (Azat Khuzhin).
- Update ci checks server. #35737 (Nikolai Kochetov).
- Tests fixes #35745 (Azat Khuzhin).
- Use common IOThreadPool for S3 and URL #35746 (Antonio Andelic).
- Fix stylecheck #35754 (Nikolai Kochetov).
- extended a description of clickhouse-client compression parameter #35758 (Denny Crane).
- Resurrect build hash #35766 (alesapin).
- Fix 00484_preferred_max_column_in_block_size_bytes #35768 (Alexander Tokmakov).
- Fix enable LLVM for JIT compilation in CMake #35770 (Maksim Kita).
- clickhouse-keeper: correctly handle closed client connection #35772 (Azat Khuzhin).
- ci: replace directory system log tables artifacts with tsv #35773 (Azat Khuzhin).
- One more try to resurrect build hash #35774 (alesapin).
- Refactoring QueryPipeline #35789 (Amos Bird).
- Delete duplicate code #35798 (chen).
- remove unused variable #35800 (flynn).
- Make
SortDescription::column_name
always non-empty #35805 (Nikita Taranov). - Fix latest_error referenced before assignment #35807 (Mikhail f. Shiryaev).
- Try to fix some integration tests #35808 (Alexander Tokmakov).
- Better error message for incorrect *MergeTree arguments #35814 (Alexander Tokmakov).
- Fix missing
noexcept(false)
flag on destructor which causes builds to fail #35817 (tcoyvwac). - Try remove unneed variable #35833 (flynn).
- Refactoring of hints for column descriptor #35852 (Antonio Andelic).
- Fix automatic bucket prefix for master #35854 (Mikhail f. Shiryaev).
- Format changes for new docs #35858 (Rich Raposa).
- Properly cancel the query after client format error #35867 (Azat Khuzhin).
- Drop modernize-replace-auto-ptr from .clang-tidy #35868 (Robert Schulze).
- fix service start with systemd #35869 (Denny Crane).
- fix postgres test #35885 (Kseniia Sumarokova).
- Update poco: Fix polling of socket with negative timeout (when poll() interrupted by EINTR) #35899 (Azat Khuzhin).
- More logs on unsuccessful part removal #35904 (alesapin).
- Executable user defined functions prevent executing during analysis #35917 (Maksim Kita).
- JIT ProfileEvents added test #35918 (Maksim Kita).
- Clang tidy issues #35919 (Deleted user).
- Fix race in cached buffer #35922 (Kseniia Sumarokova).
- Fix building ubuntu image from deb-repo #35931 (Mikhail f. Shiryaev).
- Move credentials for integration tests into a separate file #35936 (Lalit Srikant).
- [Snyk] Security upgrade node from 8 to 16.14.2 #35942 (Snyk bot).
- Fix keeper image for
arm64
#35945 (Nikita Mikhaylov). - Make some replicated DDL queries faster #35946 (Alexander Tokmakov).
- Update Contentsquare company case #35964 (François Violette).
- Small code changes in ZooKeeper client/Keeper code #35967 (Antonio Andelic).
- parallel reading files for FileLog Engine #35980 (flynn).
- Fix data race in StorageURL #35984 (Antonio Andelic).
- Improve logs analysis in stress test checks #35985 (Azat Khuzhin).
- Print labels to log in run_check.py #35991 (Vladimir C).
- Set
ENABLE_BUILD_PATH_MAPPING
toOFF
by default, ifCMAKE_BUILD_TYPE
is set toDebug
#35998 (Denis Glazachev). - Make test 00159_parallel_formatting_tsv_and_friends.sh more stable #36001 (Kruglov Pavel).
- Update version_date.tsv after v22.3.3.44-lts #36002 (github-actions[bot]).
- Fix flaky test
test_system_merges/test.py::test_merge_simple
#36004 (Alexander Tokmakov). - Another fix for settings randomization #36005 (Alexander Tokmakov).
- Remove some TestFlows that are irrelevant. #36006 (Lalit Srikant).
- Fix 02248_nullable_custom_types_to_string #36008 (Alexander Tokmakov).
- Fix flaky test 00155_long_merges #36009 (Kruglov Pavel).
- Remove unused code from TestFlows #36010 (Lalit Srikant).
- Fix data race in StorgeFileLog #36015 (flynn).
- Fix Backward comapatibility check #36026 (Alexander Tokmakov).
- Use storage_snapshot for projection analysis #36034 (Amos Bird).
- Nightly coverity #36044 (Mikhail f. Shiryaev).
- Fix typo #36047 (Alexey Milovidov).
- Fix flaky test #36054 (Alexey Milovidov).
- Remove trailing whitespace in default client_name #36056 (Azat Khuzhin).
- clickhouse-client: fix query cancellation if any result was not received yet #36057 (Azat Khuzhin).
- Add debug and fix cancel_rerun lambda #36064 (Mikhail f. Shiryaev).
- Fix style in run_check.py #36065 (Vladimir C).
- Try to turn off always green backward compatibility checks #36067 (Kruglov Pavel).
- Less dependencies from disks in buffers #36070 (alesapin).
- Backups: improve arguments handling and file removing #36072 (Vitaly Baranov).
- Add tonickkozlov to trusted users for auto ci run #36080 (nvartolomei).
- Try to avoid timeoutes in parallel parsing tests #36083 (Kruglov Pavel).
- Fix BUILD_NAME issue in build jobs #36085 (Mikhail f. Shiryaev).
- Remove incorrect assertion #36086 (Alexander Tokmakov).
- Get rid of fs paths keeper #36106 (alesapin).
- fix typo #36110 (Denny Crane).
- Fix scan report filename #36112 (Mikhail f. Shiryaev).
- Add new/delete overloads with align #36125 (Antonio Andelic).
- Fix code style in registerBackupEnginesFileAndDisk.cpp #36127 (Vitaly Baranov).
- Fix flaky tests 00971 and 01003 #36128 (Alexander Tokmakov).
- Update 01171_mv_select_insert_isolation_long.sh #36131 (Kseniia Sumarokova).
- Build report #36132 (Mikhail f. Shiryaev).
- Fix after #35475 #36135 (Kseniia Sumarokova).
- Minor fix for transactions #36136 (Alexander Tokmakov).
- ProfileEvents fixes #36137 (Azat Khuzhin).
- Minor improvement for hung check #36138 (Alexander Tokmakov).
- Upload ccache for the first run in PR #36139 (Mikhail f. Shiryaev).
- Fix test 02241_remote_filesystem_cache_on_insert for database Ordinary #36150 (Kseniia Sumarokova).
- remove unused array in h3Res0Indexes func #36154 (Bharat Nallan).
- fix typo in cmake message #36155 (Bharat Nallan).
- Fix UT error sometimes #36157 (zhanglistar).
- Fix a logical error left after debugging #36159 (Mikhail f. Shiryaev).
- Fix mongodb test with new cert #36161 (alesapin).
- Some fixes for ReplicatedMergeTree #36163 (Alexander Tokmakov).
- clickhouse-client: properly cancel query in case of error during formatting data #36164 (Azat Khuzhin).
- Fix flacky test 01161_all_system_tables under s3 storage #36175 (Kseniia Sumarokova).
- Revert "Fix possible mutation stuck due to race with DROP_RANGE" #36190 (Azat Khuzhin).
- Use atomic instead of mutex + condvar in ParallelReadBuffer #36192 (Kruglov Pavel).
- Follow-up to #36138 #36194 (Alexander Tokmakov).
- Revert reverting "Fix crash in ParallelReadBuffer" #36212 (Kruglov Pavel).
- Make stateless tests with s3 always green #36214 (Alexander Tokmakov).
- Add Tyler Hannan to contributors #36216 (Tyler Hannan).
- Fix the repeated call of func to get the table when drop table #36248 (chen).
- Split test 01675_data_type_coroutine into 2 tests to prevent possible timeouts #36250 (Kruglov Pavel).
- Merge TRUSTED_CONTRIBUTORS in lambda and import in check #36252 (Mikhail f. Shiryaev).
- Fix exception "File segment can be completed only by downloader" in tests #36253 (Kseniia Sumarokova).
- Fix integration tests report parser #36257 (alesapin).
- fix crash when you use clickhouse-git-import with invalid parameter #36262 (zhanghuajie).
- Fix cancel-lambda for closed PRs #36269 (Mikhail f. Shiryaev).
- Place new logic of schema inference in insert select from table function under setting #36275 (Kruglov Pavel).
- Remove trash from CPUID #36310 (Alexey Milovidov).
- Remove remaining parts of Arcadia #36312 (Alexey Milovidov).
- Fix clang-tidy-14 (part 1) #36320 (Alexey Milovidov).
- Add dispatch trigger for debug CI #36329 (Mikhail f. Shiryaev).
- Revert "support UNSIGNED modifier with unused parameters of INT" #36337 (Alexey Milovidov).
- Simplify perf scripts by using schema inference #36346 (Azat Khuzhin).
- Do not randomize "priority" setting #36358 (Alexey Milovidov).
- Fix integration tests #36361 (Alexey Milovidov).
- Remove abbreviation #36362 (Alexey Milovidov).
- Fix slow test #36363 (Alexey Milovidov).
- Fix error in sanity checks #36365 (Alexey Milovidov).
- Add nodiscard attribute to immutable methods of
IColumn
to avoid errors #36368 (Alexey Milovidov). - Fix strange trash in Keeper #36369 (Alexey Milovidov).
- fix typo #36374 (flynn).
- Fix test 01161_all_system_tables under s3 storage #36388 (Kseniia Sumarokova).
- Minor refactor to prefer C++ Standard Algorithms #36393 (tcoyvwac).
- jemalloc: enable logging in debug build #36398 (Azat Khuzhin).
- Respect library type for contrib libraries #36399 (Azat Khuzhin).
- Add more harmful variables for OSX #36400 (Azat Khuzhin).
- Activate clang-tidy warning "readability-container-contains" #36402 (Robert Schulze).
- Move down data_range construction in filterMarksUsingIndex and filterMarksUsingMergedIndex #36410 (Tian Xinhui).
- Fix stress test #36450 (Kruglov Pavel).