Commit Graph

58381 Commits

Author SHA1 Message Date
alesapin
7900fe5836
Revert "Reduce lock contention for MergeTree tables (by renaming parts without holding lock)" 2024-06-06 11:36:57 +02:00
Julia Kartseva
94a8c7edb1
Merge pull request #64720 from korowa/fix-split-tokenized-indices
fix: function filters with token-based text indexes
2024-06-06 09:02:23 +00:00
Alexey Milovidov
ce244e126d
Merge pull request #61973 from azat/mt/rename-without-lock
Reduce lock contention for MergeTree tables (by renaming parts without holding lock)
2024-06-06 05:36:28 +02:00
Alexey Milovidov
c0a02475c1
Merge pull request #64860 from ClickHouse/settings-changes
Add new settings to changes history.
2024-06-06 05:30:31 +02:00
Alexey Milovidov
cb2c085535
Merge pull request #64610 from thomoco/master
Updated Advanced Dashboard for both open-source and ClickHouse Cloud versions to include a chart for 'Maximum concurrent network connections'
2024-06-06 05:21:33 +02:00
Alexey Milovidov
6c24bb48c5
Merge pull request #64770 from ClickHouse/backtothefuture
Fix assert in IObjectStorageIteratorAsync
2024-06-06 03:37:34 +02:00
Alexey Milovidov
53f26f614e
Merge pull request #64769 from ClickHouse/pufit/rbac-fix-on-cluster-grant-with-default-database
Fix default database with grant on cluster
2024-06-06 03:35:32 +02:00
Alexey Milovidov
9ab06931d2
Merge pull request #64845 from ClickHouse/follow-up-s3-queue
Follow-up to #64349
2024-06-06 02:56:58 +02:00
Alexey Milovidov
81c647e680
Merge pull request #64844 from CurtizJ/fix-memory-tracker
Fix untracked memory in `MemoryTrackerSwitcher`
2024-06-06 02:18:43 +02:00
Alexey Milovidov
9d8bc4d54d
Merge pull request #59427 from seandhaynes/master
Use scheduleOrThrow in MergeTree data selection and initialization to avoid deadlocks
2024-06-06 02:06:22 +02:00
Alexey Milovidov
8863736459 Fix style 2024-06-05 22:53:08 +02:00
Nikita Mikhaylov
efbf40ad28
Merge pull request #64846 from rschu1ze/simplify-inverted-indexes
Simplify handling of old 'inverted' indexes
2024-06-05 20:04:16 +00:00
pufit
e7b7c3aebe Update query before replication 2024-06-05 16:00:08 -04:00
Nikita Mikhaylov
f42452d51e Add settings to changes history 2024-06-05 21:57:23 +02:00
Nikita Mikhaylov
106c1529ed Introduce an alias 2024-06-05 21:14:26 +02:00
Nikita Mikhaylov
eb8520758a Done 2024-06-05 20:51:07 +02:00
Azat Khuzhin
6cfd5b2165 Fix possible assertion when size of precommitted_parts <= precommitted_parts_need_rename
CI founds [1]:

    Logical error: 'precommitted_parts.size() >= precommitted_parts_need_rename.size()'

  [1]: https://s3.amazonaws.com/clickhouse-test-reports/61973/5c1e6a3e956917bdbb7eaa467934e5b75f17a923/stateless_tests__tsan__s3_storage__[5_5].html

The problem is that after precommitted_parts cleaned from detached parts
it may be less then precommitted_parts_need_rename, so to avoid this,
let's just copy it to a new container.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2024-06-05 19:38:24 +02:00
Azat Khuzhin
6f522c1d61 Do not remove detached parts in Transaction::rollback
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2024-06-05 19:38:24 +02:00
Azat Khuzhin
3675c27fe9 Require explicit rename of parts in transaction
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2024-06-05 19:38:24 +02:00
Azat Khuzhin
ca2c720d0e Avoid race between cleanup thread and renameMergedTemporaryPart()
The problem was that with this patch set renameMergedTemporaryPart() is
called without temporary_directory_lock holded (in MergeTask), since it
is reseted just before calling renameMergedTemporaryPart(), and this can
be seen in logs:

    2024.03.29 19:56:42.126919 [ 1341 ] {ea7a3fd2-cf47-4ec7-91a5-51c69fba1b95::-8_0_138_2_2} <Trace> test_btnct5cr.alter_table_0 (ea7a3fd2-cf47-4ec7-91a5-51c69fba1b95) (MergerMutator): Merged 50 parts: [-8_0_0_0_2, -8_138_138_0] -> -8_0_138_2_2
    2024.03.29 19:56:42.127034 [ 1341 ] {ea7a3fd2-cf47-4ec7-91a5-51c69fba1b95::-8_0_138_2_2} <Debug> test_btnct5cr.alter_table_0 (ea7a3fd2-cf47-4ec7-91a5-51c69fba1b95): Committing part -8_0_138_2_2 to zookeeper
    2024.03.29 19:56:42.128462 [ 884 ] {} <Warning> test_btnct5cr.alter_table_0 (ea7a3fd2-cf47-4ec7-91a5-51c69fba1b95): Removing temporary directory /var/lib/clickhouse/store/ea7/ea7a3fd2-cf47-4ec7-91a5-51c69fba1b95/tmp_merge_-8_0_138_2_2/
    2024.03.29 19:56:42.128647 [ 1341 ] {ea7a3fd2-cf47-4ec7-91a5-51c69fba1b95::-8_0_138_2_2} <Debug> test_btnct5cr.alter_table_0 (ea7a3fd2-cf47-4ec7-91a5-51c69fba1b95): Part -8_0_138_2_2 committed to zookeeper
    ...
    2024.03.29 19:56:54.586084 [ 57841 ] {bf240267-0620-4294-afc1-479c58e6be89} <Error> executeQuery: std::exception. Code: 1001, type: std::__1::__fs::filesystem::filesystem_error, e.what() = filesystem error: in file_size: No such file or directory ["/var/lib/clickhouse/store/ea7/ea7a3fd2-cf47-4ec7-91a5-51c69fba1b95/-8_0_138_2_2/data.cmrk3"]

This should fix failures of 00993_system_parts_race_condition_drop_zookeeper in [1].

  [1]: https://s3.amazonaws.com/clickhouse-test-reports/61973/f6f826c85dd5b7bb8db16286fd10dcf441a440f7/stateless_tests__coverage__[4_6].html

Though now it looks hackish...

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2024-06-05 19:38:24 +02:00
Azat Khuzhin
b41d08a2b6 Use renameParts() explicitly to avoid leaving parts in detached
Since there is an assertion that does not allows to remove detached
parts during cleanup, which sounds good in general, but breaks this new
code.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2024-06-05 19:38:24 +02:00
Azat Khuzhin
ee546fa00a Fix replacing parts with empty
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2024-06-05 19:38:24 +02:00
Azat Khuzhin
6c3db34aae Remove unused locked_parts from MergeTreeData::Transaction
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2024-06-05 19:38:24 +02:00
Azat Khuzhin
78088ce59a Reduce lock contention for MergeTree tables (by renaming parts without holding lock)
Under heavy load, or not so heavy but with fsync_part_directory=1,
time that renameTo() holds DataPartsLock will be increased, and this
will affect almost every operation with this table.

On one of production clusters I saw ~60 seconds with
fsync_part_directory=1.

Move the renameTo() out from the critical section.

v2: instead of using DataPartsLock.lock.lock()/unlock() move the renameTo() into MergeTreeData::Transaction::commit()
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2024-06-05 19:38:23 +02:00
Azat Khuzhin
66a2962cce Add reason into "Part {} is broken and need manual correction" message
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2024-06-05 19:38:23 +02:00
Sergei Trifonov
9c7a8727d0
Merge pull request #64244 from kirillgarbar/check_zk_path
Prevent conversion to Replicated if zookeeper path already exists
2024-06-05 16:36:10 +00:00
vdimir
5251febf03
Merge pull request #64393 from ClickHouse/vdimir/blob_storage_log_fix_recursion
Prevent recursive logging in blob_storage_log
2024-06-05 14:28:01 +00:00
kssenii
98b7805697 Fix unused field 2024-06-05 16:19:17 +02:00
Robert Schulze
8bdd291049
Simplify handling of old 'inverted' indexes 2024-06-05 13:27:07 +00:00
kssenii
2a30c77346 Fix compatibility 2024-06-05 15:21:51 +02:00
Anton Popov
5e9a41bd9f fix untacked memory in MemoryTrackerSwitcher 2024-06-05 13:10:37 +00:00
Han Fei
ac430bb01d
Merge pull request #59357 from hanfei1991/hanfei/stats_uniq
Introduce statistics of type "number of distinct values"
2024-06-05 12:56:52 +00:00
vdimir
d2d8618d27
Merge pull request #64775 from bigo-sg/debug_inequal_join
Mixed join condition with function `in`
2024-06-05 12:40:30 +00:00
Han Fei
9b7944e3a5
Merge pull request #64827 from ClickHouse/fix-clang-tidy-s3-queue
Fix clang-tidy
2024-06-05 11:54:14 +00:00
Kseniia Sumarokova
b6b19ca6d3
Merge pull request #64762 from azat/mt-write-once-fixes
Do not try to write columns.txt if it does not exists for write-once storages
2024-06-05 11:22:54 +00:00
Igor Nikonov
22d50dcd3e
Merge pull request #64579 from ClickHouse/store-analysis-result
Cache first analysis result in ReadFromMergeTree
2024-06-05 11:21:50 +00:00
Han Fei
c04e7e64af Merge branch 'master' into hanfei/stats_uniq 2024-06-05 13:09:15 +02:00
Kseniia Sumarokova
f50fbfa411
Merge pull request #64803 from ClickHouse/fix-memory-leak-in-slru
Fix memory leak in slru cache policy
2024-06-05 09:58:12 +00:00
kssenii
c25f8fa28c Fix 2024-06-05 10:58:08 +02:00
Robert Schulze
ec3b82ba63
Merge pull request #64606 from rschu1ze/map-stuff
Double-checking #59318 and docs for `Map`
2024-06-05 07:56:29 +00:00
Robert Schulze
4639b108e7
Merge pull request #64823 from rschu1ze/fix-tidy
Fix clang-tidy build
2024-06-05 07:42:05 +00:00
Robert Schulze
3bb1157a0e
Fix clang-tidy 2024-06-05 07:32:57 +00:00
Antonio Andelic
0f23f9b384
Merge pull request #64784 from ClickHouse/keeper-correct-snapshot-size
Fix Keeper snapshot size in `mntr`
2024-06-05 07:17:57 +00:00
Alexey Milovidov
2c5ebf9ca6
Merge branch 'master' into master 2024-06-05 04:23:37 +02:00
Alexey Milovidov
02a3049876
Merge pull request #58285 from canhld94/fix_a_test
Hot reload storage policy for distributed tables when adding a new disk
2024-06-05 04:11:49 +02:00
lgbo-ustc
8c94832c20 fixed #64513. mixed join condition with function 'in' 2024-06-05 09:33:04 +08:00
Alexey Milovidov
bb9091ad5a
Merge pull request #64582 from arenadata/ADQM-1868
Binary math functions Decimal support
2024-06-05 02:15:40 +02:00
Alexey Milovidov
78506304b7
Merge pull request #55061 from amosbird/support-empty-tuple-2
Support empty tuple [second implementation]
2024-06-05 02:00:03 +02:00
Han Fei
f7ca33868b Merge branch 'master' into hanfei/stats_uniq 2024-06-05 01:21:49 +02:00
Julia Kartseva
1638dd0837
Merge pull request #64483 from korowa/read-in-order-nullable
fix: optimize_read_in_order for nullable keys
2024-06-04 22:49:27 +00:00