Azat Khuzhin
837f4ea676
Add ability to throttle merges/mutations
...
Main motivation was to has an ability to throttle background tasks, to
avoid affecting queries.
To new server settings had been added for this:
- max_mutations_bandwidth_for_server
- max_merges_bandwidth_for_server
Note, that they limit only reading, since usually you will not write
more data then you read, but sometimes it is possible in case of ALTER
UPDATE.
But for now, to keep things simple, I decided to limit this with only
2 settings instead of 4.
Note, that if the write throttling will be needed, then they can use the
same settings, and just create new throttler for write.
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-12-24 22:31:49 +01:00
Azat Khuzhin
3be3b0a280
Fix incorrect Exceptions
...
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-12-24 21:26:32 +01:00
Nikolay Degterinsky
033fb14a2a
Merge remote-tracking branch 'upstream/master' into replicated-database-forbid-create-as-select
2023-12-24 20:07:12 +00:00
Alexey Milovidov
1054118607
Merge pull request #58133 from ClickHouse/parallel-replicas-in-subquery
...
Disable parallel replicas with IN (subquery)
2023-12-24 05:03:35 +01:00
Alexey Milovidov
3f4c8e4ae8
Merge pull request #58167 from jrdi/part-log-uncompressed-bytes
...
Add bytes_uncompressed to system.part_log
2023-12-24 04:11:35 +01:00
Igor Nikonov
3c85042679
Fix typo
2023-12-23 12:05:02 +00:00
Igor Nikonov
701c8ac9ba
Cleanup & comments
2023-12-23 11:44:02 +00:00
Pradeep Chhetri
b5c8c4050b
Add base backup name to system.backups and system.backup_log tables
2023-12-23 11:08:50 +08:00
jinjunzh
aaf98f0ed7
refine setting with enable_zstd_qat_codec
2023-12-22 14:24:15 -05:00
Jiebin Sun
d43448e747
Avoid the literal type from nullable
...
Signed-off-by: Jiebin Sun <jiebin.sun@intel.com>
2023-12-23 02:05:31 +08:00
Igor Nikonov
d3a0869119
Merge remote-tracking branch 'origin/master' into parallel-replicas-in-subquery
2023-12-22 17:54:45 +00:00
Igor Nikonov
ca1ddf0608
Fix style
2023-12-22 17:54:21 +00:00
Jordi Villar
b4c3969d3a
Add bytes_uncompressed to system.part_log
2023-12-22 18:35:33 +01:00
Igor Nikonov
6f68696c14
Fix: for joins with old analyzer
2023-12-22 17:26:31 +00:00
vdimir
9b137059a3
Better logging in hash join
2023-12-22 15:52:47 +00:00
vdimir
4309d45730
Reserve memory in AddedColums
2023-12-22 15:52:47 +00:00
vdimir
47e46e0c50
Fix race in GraceHashJoin::DelayedBlocks
2023-12-22 15:52:46 +00:00
vdimir
6c9aa2ced5
handle not_processed in GraceHashJoin
2023-12-22 15:52:45 +00:00
vdimir
8429162038
HashJoin respects max_joined_block_size_rows
2023-12-22 15:52:41 +00:00
Nikolai Kochetov
3cbd895ce1
Merge pull request #57827 from ClickHouse/vdimir/merge_join_array_lowcard
...
Fix low-cardinality keys support in MergeJoin
2023-12-22 13:34:06 +01:00
Yarik Briukhovetskyi
483a377834
Merge pull request #57995 from yariks5s/paste_join
...
Implementing PASTE JOIN
2023-12-22 12:56:06 +01:00
Bharat Nallan Chakravarthy
62b28d365c
Merge with upstream/master
2023-12-21 17:04:25 -08:00
Igor Nikonov
b9f1039ac4
Fix log message
2023-12-21 17:09:49 +00:00
Igor Nikonov
f0933d2714
Disable parallel replicas with IN with subquery
2023-12-21 16:21:02 +00:00
Raúl Marín
6d9da8edd5
Merge remote-tracking branch 'blessed/master' into zk_retries_quorum
2023-12-21 17:03:29 +01:00
Nikolay Degterinsky
7aa2363b40
Merge remote-tracking branch 'upstream/master' into replicated-database-forbid-create-as-select
2023-12-21 12:38:44 +00:00
Yakov Olkhovskiy
5dc88542cb
Merge branch 'master' into feature-server-iface-metrics
2023-12-20 16:46:29 -05:00
Igor Nikonov
db87ea0b86
Merge remote-tracking branch 'origin/master' into pr-custom-key-failover
2023-12-20 20:48:51 +00:00
Nikita Mikhaylov
cb6c9557ff
Merge branch 'master' into remove-old-projections-code
2023-12-20 17:45:38 +01:00
Nikita Taranov
d57ac6dfdb
Set replica number to its position in cluster definition ( #57800 )
...
* impl
* fix
2023-12-20 17:33:05 +01:00
Alexander Tokmakov
015225c629
Merge pull request #57906 from ClickHouse/create_index_normalize
...
Normalize function names in CREATE INDEX
2023-12-20 17:24:19 +01:00
Alexander Tokmakov
858f2be6b5
Merge pull request #57337 from ClickHouse/drop_database_replica_no_throw
...
Don't throw if noop when dropping database replica in batch
2023-12-20 16:48:58 +01:00
Anton Popov
87d0cec055
Merge pull request #57433 from CurtizJ/materialize-lightweight-delete
...
Add mutation command `APPLY DELETED MASK`
2023-12-20 14:44:11 +01:00
Yakov Olkhovskiy
6830954cd3
Merge pull request #57988 from Chen768959/fix-literal-alias-misclassification
...
Fix literal alias misclassification
2023-12-19 19:36:59 -05:00
Alexey Milovidov
d190866fc0
Merge pull request #58031 from ClickHouse/revert-57766-fix-bug-window-functions
...
Revert "Fix bug window functions: revert #39631 "
2023-12-20 01:08:08 +01:00
Raúl Marín
ccff198265
Rename canUseParallelReplicas to canUseTaskBasedParallelReplicas ( #58025 )
2023-12-19 23:21:19 +01:00
Jordi Villar
7c281d9a6f
Allow max_size_to_drop settings in query time ( #57452 )
2023-12-19 23:16:03 +01:00
Yarik Briukhovetskyi
6e816d45ae
Merge branch 'master' into paste_join
2023-12-19 20:02:24 +01:00
yariks5s
4e418a89d9
fixed suggestions
2023-12-19 19:00:37 +00:00
Sema Checherinda
802ad4ec47
Merge pull request #57523 from ClickHouse/remove-the-limit-for-connections-per-endpoint
...
Remove the limit for the number of connections per endpoint for background fetches + small refactoring
2023-12-19 19:16:01 +01:00
Bharat Nallan Chakravarthy
ecd2843b47
add a clarification to docs
2023-12-19 08:35:14 -08:00
Kseniia Sumarokova
d4e71f96c1
Merge pull request #57897 from ClickHouse/allow-to-dynamically-change-fs-cache-size
...
Support dynamic reloading of filesystem cache size
2023-12-19 13:51:42 +01:00
Robert Schulze
952175ce39
Merge pull request #57875 from zhongyuankai/order_by_all
...
Support `ORDER BY ALL`
2023-12-19 13:38:07 +01:00
vdimir
252cb8a507
Merge pull request #54602 from fionera/issue-49028
...
Add setting http_make_head_request
2023-12-19 13:33:59 +01:00
Nikolai Kochetov
8ab6564538
Revert "Fix bug window functions: revert #39631 "
2023-12-19 13:30:59 +01:00
Chen768959
c1f7de770d
Merge branch 'ClickHouse:master' into fix-literal-alias-misclassification
2023-12-19 19:48:25 +08:00
Anton Popov
34cdecea70
Merge pull request #58013 from CurtizJ/fix-race-external-sort
...
Fix rare race in external sort/aggregation with temporary data in cache
2023-12-19 12:20:31 +01:00
Nikita Mikhaylov
6360b76792
Merge branch 'master' of github.com:ClickHouse/ClickHouse into remove-the-limit-for-connections-per-endpoint
2023-12-18 21:49:31 +00:00
pufit
36d1905881
Merge pull request #57752 from chizhonkova/refactor_sql_udf_loader
...
Refactoring for UserDefinedSQLObjectsLoader
2023-12-18 16:08:46 -05:00
Anton Popov
27d632f5e4
fix race in operations with external temporary data in cache
2023-12-18 20:02:53 +00:00
Alexey Milovidov
7178bd5c88
Merge pull request #57910 from Algunenano/log_message_string
...
Improvements for 00002_log_and_exception_messages_formatting
2023-12-18 21:02:23 +01:00
Bharat Nallan Chakravarthy
aef4e2e6ec
Merge upstream/master into ncb/async-metrics-pri-key-size
2023-12-18 09:46:51 -08:00
Raúl Marín
46067adce8
Improve ZooKeeperRetriesControl so it's easier to reuse
2023-12-18 17:43:10 +01:00
Nikolai Kochetov
5290b3c9ce
Merge pull request #57855 from kitaisreal/interpreter-create-query-sample-block-fix
...
InterpreterCreateQuery sample block fix
2023-12-18 17:22:24 +01:00
yariks5s
6740316a88
init
2023-12-18 15:02:51 +00:00
Yakov Olkhovskiy
f99b36143f
Merge remote-tracking branch 'origin/master' into feature-server-iface-metrics
2023-12-18 14:14:03 +00:00
Anton Popov
10bc2db56d
add setting
2023-12-18 13:57:07 +00:00
chen768959
fdda0cf8ac
Literal aliases incorrectly classified as 'complex_aliases'.
2023-12-18 21:43:07 +08:00
Kseniia Sumarokova
f11fc650ee
Merge branch 'master' into allow-to-dynamically-change-fs-cache-size
2023-12-18 13:10:36 +01:00
Igor Nikonov
52db759c92
Merge remote-tracking branch 'origin/master' into pr-custom-key-failover
2023-12-18 11:59:13 +00:00
Raúl Marín
2639d0715f
Merge remote-tracking branch 'blessed/master' into log_message_string
2023-12-18 10:40:18 +01:00
Raúl Marín
f10dae4761
Merge pull request #56917 from Algunenano/backup_1
...
Prepare the introduction of more keeper faults
2023-12-18 10:27:48 +01:00
Alexey Milovidov
b07ee86cec
Merge branch 'master' into allow-to-dynamically-change-fs-cache-size
2023-12-18 05:50:31 +01:00
Alexey Milovidov
52d7777b05
Merge branch 'remove-cpp-templates-3' of github.com:ClickHouse/ClickHouse into remove-cpp-templates-3
2023-12-18 04:53:06 +01:00
Alexey Milovidov
c05b0cf37f
Merge branch 'master' into remove-cpp-templates-3
2023-12-18 04:52:50 +01:00
Alexey Milovidov
58396c5546
Merge pull request #57218 from tntnatbry/issue-43666
...
Issue 43666: Add skip_unavailable_shards as a setting for Distributed table.
2023-12-18 04:48:57 +01:00
Alexey Milovidov
168da20d51
Update executeQuery.cpp
2023-12-17 22:54:45 +03:00
Igor Nikonov
af6401761e
Merge remote-tracking branch 'origin/master' into pr-custom-key-failover
2023-12-17 13:32:53 +00:00
Robert Schulze
9033c96e29
Some fixups
2023-12-17 09:11:16 +00:00
Igor Nikonov
c49de7cea4
Fix typo
2023-12-17 08:33:49 +00:00
ubuntu
a5e4495ee5
Merge branch 'master' into order_by_all
2023-12-17 10:07:35 +08:00
Alexey Milovidov
6ada95ea00
Remove C++ templates (normalizeQuery)
2023-12-17 02:44:30 +01:00
Igor Nikonov
ec1539728d
Fix load balancing for hedged connections
2023-12-16 21:17:01 +00:00
Nikolay Degterinsky
5a3f0e7a5b
Forbid CREATE AS SELECT for Replicated storages only
2023-12-16 14:25:27 +00:00
zhongyuankai
5ccc5b4fd8
batter
2023-12-16 18:49:25 +08:00
zhongyuankai
01f5b20517
Support ORDER BY ALL
2023-12-16 18:48:23 +08:00
Kseniia Sumarokova
4279dd2bf1
Merge pull request #57687 from ClickHouse/make-system-filesystem-cache-query-no-memory-intensive
...
Make querying system.filesystem_cache not memory intensive
2023-12-16 11:28:28 +01:00
Alexey Milovidov
2d58dc512c
Merge pull request #57932 from ClickHouse/remove-shit-cleanup
...
Remove a feature
2023-12-16 06:04:59 +01:00
Anton Popov
5faf5e913e
slightly faster and perf test
2023-12-16 03:35:59 +00:00
jsc0218
41873dc4a3
Merge pull request #57873 from ClickHouse/vdimir/hash_join_structure_equals_fix
...
Fix assertion in HashJoin
2023-12-15 21:35:08 -05:00
Alexey Milovidov
ee502ef6b9
Remove trash (OPTIMIZE CLEANUP)
2023-12-15 22:41:58 +01:00
Igor Nikonov
a735820400
Merge remote-tracking branch 'origin/master' into pr-custom-key-failover
2023-12-15 21:14:43 +00:00
Alexey Milovidov
d751561d44
Remove useless headers
2023-12-15 21:42:05 +01:00
Alexey Milovidov
7e55eab1c3
Revert "Merge pull request #56573 from mkmkme/mkmkme/reload-config"
...
This reverts commit 3067ca64df
, reversing
changes made to 1e46460910
.
2023-12-15 19:28:25 +01:00
Raúl Marín
b269f87f4c
Better text_log with ErrnoException
2023-12-15 19:27:56 +01:00
Anton Popov
a226c75717
optimize usage of consecutive keys optimization
2023-12-15 16:58:45 +00:00
Alexander Tokmakov
e4a831be17
normalize function names in CREATE INDEX
2023-12-15 17:40:03 +01:00
Maksim Kita
a4d287b576
Fixed tests
2023-12-15 18:54:15 +03:00
kssenii
0dcb3133c7
Allow to dynamically change fs cache size
2023-12-15 14:11:52 +01:00
Yarik Briukhovetskyi
325374c68b
Merge pull request #57342 from bharatnc/ncb/better-hint-if-table-doesnt-exist
...
provide a better hint if a table doesn't exist
2023-12-15 12:35:13 +01:00
vdimir
16c7c1e308
fix
2023-12-15 10:58:33 +00:00
kssenii
5de9c143a5
Merge remote-tracking branch 'origin/master' into make-system-filesystem-cache-query-no-memory-intensive
2023-12-15 11:32:14 +01:00
Kseniia Sumarokova
06438cc17b
Merge pull request #57578 from ClickHouse/allow-to-change-some-cache-settings-without-restart
...
Allow to apply some fs cache config settings changes without server restart
2023-12-15 11:18:19 +01:00
Maksim Kita
8a5ffbb5f2
InterpreterCreateQuery sample block fix
2023-12-15 12:55:19 +03:00
Bharat Nallan Chakravarthy
c9f35a8f84
review fixes
2023-12-14 11:28:49 -08:00
Bharat Nallan Chakravarthy
daef2febf3
Merge with 'upstream/master'
2023-12-14 11:19:44 -08:00
Yakov Olkhovskiy
febdd542f8
Merge remote-tracking branch 'origin/master' into feature-server-iface-metrics
2023-12-14 18:59:44 +00:00
Igor Nikonov
1370a8c6c4
Merge remote-tracking branch 'origin/master' into pr-custom-key-failover
2023-12-14 18:29:38 +00:00
Raúl Marín
546484d46b
Merge remote-tracking branch 'blessed/master' into backup_1
2023-12-14 19:03:59 +01:00
Jiebin Sun
b3f3a0c75c
Rewrite the AST of sum(column + literal) function
...
Rewrite the following AST of `sum(column + literal)`
sum(column + literal) -> sum(column) + literal * count(column)
sum(literal + column) -> sum(column) + literal * count(column)
Test the patch on 2 x 80 vCPUs system, Q29 of ClickBench has got a huge
11.5x performance improvement.
Signed-off-by: Jiebin Sun <jiebin.sun@intel.com>
2023-12-15 01:28:47 +08:00
Yakov Olkhovskiy
6d20082134
return the early release and instead restore prepared_client_info and reset session_context
2023-12-14 17:25:47 +00:00
vdimir
eb350ffa7e
Fix assertion in HashJoin
2023-12-14 15:52:35 +00:00
Anton Popov
5630115faa
optimize aggregation by large ranges of equal keys
2023-12-14 15:38:01 +00:00
kssenii
12ed9952c4
Merge remote-tracking branch 'origin/allow-to-change-some-cache-settings-without-restart' into allow-to-change-some-cache-settings-without-restart
2023-12-14 16:31:13 +01:00
kssenii
3edbbab9a3
Better
2023-12-14 16:30:15 +01:00
vdimir
0473e39352
lowcard in join output
2023-12-14 15:28:19 +00:00
kssenii
ea7e55b929
Simplify
2023-12-14 15:58:06 +01:00
Nikita Mikhaylov
a0af0392cd
Random changes in random files ( #57642 )
2023-12-14 12:47:11 +01:00
János Benjamin Antal
fdfd1481df
Merge pull request #57610 from kitaisreal/jit-add-assembly-printer
...
CHJIT add assembly printer
2023-12-14 12:39:20 +01:00
Raúl Marín
efcacd3c34
Merge remote-tracking branch 'blessed/master' into backup_1
2023-12-14 11:08:50 +01:00
Kseniia Sumarokova
79db3c66df
Merge branch 'master' into allow-to-change-some-cache-settings-without-restart
2023-12-13 23:33:59 +01:00
kssenii
38e38ef43f
Minor fix
2023-12-13 19:32:47 +01:00
Nikita Mikhaylov
8372c70958
Merge branch 'master' of github.com:ClickHouse/ClickHouse into remove-the-limit-for-connections-per-endpoint
2023-12-13 18:29:56 +00:00
vdimir
48fe75a70d
Fix MergeJoin lowcard keys support
2023-12-13 17:43:15 +00:00
Anton Popov
1960713176
add docs
2023-12-13 17:29:34 +00:00
Anton Popov
7598403f78
Merge remote-tracking branch 'upstream/master' into HEAD
2023-12-13 16:55:17 +00:00
Raúl Marín
d4522ee088
Merge pull request #57811 from Algunenano/revert_negative_positional_arguments
...
Revert #57741
2023-12-13 16:39:23 +01:00
Igor Nikonov
72f1c415f1
Merge remote-tracking branch 'origin/master' into pr-custom-key-failover
2023-12-13 15:03:05 +00:00
Igor Nikonov
c165be76ab
Parallel replicas: friendly settings ( #57542 )
2023-12-13 14:42:06 +01:00
Raúl Marín
dd405a655e
Merge remote-tracking branch 'blessed/master' into backup_1
2023-12-13 13:39:58 +01:00
Raúl Marín
8c2137e0c6
Revert "Merge pull request #57741 from ucasfl/negtive-position"
...
This reverts commit 3d846800e0
, reversing
changes made to b31b4c932f
.
2023-12-13 13:09:36 +01:00
Nikolay Degterinsky
254bcade1e
Forbid CREATE AS SELECT for database Replicated
2023-12-12 18:28:20 +00:00
kssenii
cc71b40002
Merge remote-tracking branch 'origin/master' into make-system-filesystem-cache-query-no-memory-intensive
2023-12-12 16:40:04 +01:00
kssenii
fa0b2b9e50
Merge remote-tracking branch 'origin/master' into make-system-filesystem-cache-query-no-memory-intensive
2023-12-12 15:31:01 +01:00
Han Fei
a96593c8b1
Merge branch 'master' into feature/more_warnings
2023-12-12 15:25:01 +01:00
Natalya Chizhonkova
3d51192bad
Refactoring for UserDefinedSQLObjectsLoader
2023-12-12 17:03:49 +03:00
Kruglov Pavel
b33f124555
Merge pull request #57538 from MikhailBurdukov/ignore_on_cluster_for_grants
...
Ignore ON CLUSTER clause in grant/revoke queries for management of replicated access entities.
2023-12-12 14:59:58 +01:00
Nikolai Kochetov
696a2d9f4f
Merge pull request #57614 from ClickHouse/vdimir/join_array_lowcard_totals_crash
...
Fix type correction in HashJoin for nested low cardinality
2023-12-12 14:56:41 +01:00
Kruglov Pavel
3d846800e0
Merge pull request #57741 from ucasfl/negtive-position
...
Support negative positional arguments
2023-12-12 14:16:10 +01:00
Kseniia Sumarokova
91d36ad224
Merge pull request #57076 from ClickHouse/slru-for-filesystem-cache
...
Implement SLRU cache policy for filesystem cache
2023-12-12 10:20:58 +01:00
flynn
02720cde01
Fix
2023-12-12 04:06:43 +00:00
Alexey Milovidov
22200566c8
Revert "Merge pull request #39631 from ClickHouse/parallel-window"
...
This reverts commit 33cc853d61
, reversing
changes made to b05a3d02ed
.
2023-12-12 03:45:00 +01:00
kssenii
554ef59dcf
Better
2023-12-11 21:34:07 +01:00
vdimir
eaf2c34761
better lowcard handling in hash join
2023-12-11 18:35:38 +00:00
vdimir
ea09080c73
fix
2023-12-11 15:50:27 +00:00
Raúl Marín
a55a0c068e
Merge remote-tracking branch 'blessed/master' into backup_1
2023-12-11 15:27:21 +01:00
kssenii
e10d06af6f
Better
2023-12-11 14:07:28 +01:00
vdimir
af45e138ad
fix
2023-12-11 12:33:11 +00:00
vdimir
cdfe99c380
Remove unused template parameter from fillColumnsFromMap
2023-12-11 11:34:54 +00:00
kssenii
d34a2782ff
Allow to decrease the number of download threads
2023-12-11 12:17:26 +01:00
flynn
c78649bdcf
Support negative positional arguments
2023-12-11 10:36:26 +00:00
kssenii
3652419873
Update run.sh
2023-12-11 11:01:13 +01:00
Alexey Milovidov
27f19635cd
Increase load_metadata_threads
to 16
2023-12-11 00:49:20 +01:00
Igor Nikonov
f7e6a17052
Merge remote-tracking branch 'origin/master' into pr-custom-key-failover
2023-12-10 20:21:47 +00:00
Azat Khuzhin
450e8da7ce
Fix data race on vptr (ctor/dtor vs virtual call) in AsynchronousMetrics
...
TSan report [1]:
Exception: Sanitizer assert found for instance ==================
WARNING: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) (pid=1)
Write of size 8 at 0x7ffce68f5680 by main thread:
0 DB::AsynchronousMetrics::~AsynchronousMetrics() build_docker/./src/Common/AsynchronousMetrics.cpp:299:1 (clickhouse+0xf38fa6e) (BuildId: d49dc55f80b62802f8721fdbcb07bdc88ac204a4)
1 DB::ServerAsynchronousMetrics::~ServerAsynchronousMetrics() build_docker/./src/Interpreters/ServerAsynchronousMetrics.h:10:7 (clickhouse+0xf2b2f0f) (BuildId: d49dc55f80b62802f8721fdbcb07bdc88ac204a4)
2 DB::Server::main(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&) build_docker/./programs/server/Server.cpp:1996:1 (clickhouse+0xf2b2f0f)
3 Poco::Util::Application::run() build_docker/./base/poco/Util/src/Application.cpp:315:8 (clickhouse+0x1d6c95fe) (BuildId: d49dc55f80b62802f8721fdbcb07bdc88ac204a4)
4 DB::Server::run() build_docker/./programs/server/Server.cpp:397:25 (clickhouse+0xf29e041) (BuildId: d49dc55f80b62802f8721fdbcb07bdc88ac204a4)
5 Poco::Util::ServerApplication::run(int, char**) build_docker/./base/poco/Util/src/ServerApplication.cpp:131:9 (clickhouse+0x1d6e9354) (BuildId: d49dc55f80b62802f8721fdbcb07bdc88ac204a4)
6 mainEntryClickHouseServer(int, char**) build_docker/./programs/server/Server.cpp:203:20 (clickhouse+0xf29b1a3) (BuildId: d49dc55f80b62802f8721fdbcb07bdc88ac204a4)
7 main build_docker/./programs/main.cpp:505:12 (clickhouse+0x72d7fa0) (BuildId: d49dc55f80b62802f8721fdbcb07bdc88ac204a4)
Previous read of size 8 at 0x7ffce68f5680 by thread T649:
0 DB::AsynchronousMetrics::update(std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l>>>) build_docker/./src/Common/AsynchronousMetrics.cpp:1559:5 (clickhouse+0xf38ebc5) (BuildId: d49dc55f80b62802f8721fdbcb07bdc88ac204a4)
1 DB::AsynchronousMetrics::run() build_docker/./src/Common/AsynchronousMetrics.cpp:354:13 (clickhouse+0xf390696) (BuildId: d49dc55f80b62802f8721fdbcb07bdc88ac204a4)
2 DB::AsynchronousMetrics::start()::$_0::operator()() const build_docker/./src/Common/AsynchronousMetrics.cpp:273:62 (clickhouse+0xf392eca) (BuildId: d49dc55f80b62802f8721fdbcb07bdc88ac204a4)
3 decltype(std::declval<DB::AsynchronousMetrics::start()::$_0&>()()) std::__1::__invoke[abi:v15000]<DB::AsynchronousMetrics::start()::$_0&>(DB::AsynchronousMetrics::start()::$_0&) build_docker/./contrib/llvm-project/libcxx/include/__functional/invoke.h:394:23 (clickhouse+0xf392eca)
4 decltype(auto) std::__1::__apply_tuple_impl[abi:v15000]<DB::AsynchronousMetrics::start()::$_0&, std::__1::tuple<>&>(DB::AsynchronousMetrics::start()::$_0&, std::__1::tuple<>&, std::__1::__tuple_indices<>) build_docker/./contrib/llvm-project/libcxx/include/tuple:1789:1 (clickhouse+0xf392eca)
5 decltype(auto) std::__1::apply[abi:v15000]<DB::AsynchronousMetrics::start()::$_0&, std::__1::tuple<>&>(DB::AsynchronousMetrics::start()::$_0&, std::__1::tuple<>&) build_docker/./contrib/llvm-project/libcxx/include/tuple:1798:1 (clickhouse+0xf392eca)
6 ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::AsynchronousMetrics::start()::$_0>(DB::AsynchronousMetrics::start()::$_0&&)::'lambda'()::operator()() build_docker/./src/Common/ThreadPool.h:253:13 (clickhouse+0xf392eca)
7 decltype(std::declval<DB::AsynchronousMetrics::start()::$_0>()()) std::__1::__invoke[abi:v15000]<ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::AsynchronousMetrics::start()::$_0>(DB::AsynchronousMetrics::start()::$_0&&)::'lambda'()&>(DB::AsynchronousMetrics::start()::$_0&&) build_docker/./contrib/llvm-project/libcxx/include/__functional/invoke.h:394:23 (clickhouse+0xf392eca)
8 void std::__1::__invoke_void_return_wrapper<void, true>::__call<ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::AsynchronousMetrics::start()::$_0>(DB::AsynchronousMetrics::start()::$_0&&)::'lambda'()&>(ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::AsynchronousMetrics::start()::$_0>(DB::AsynchronousMetrics::start()::$_0&&)::'lambda'()&) build_docker/./contrib/llvm-project/libcxx/include/__functional/invoke.h:479:9 (clickhouse+0xf392eca)
9 std::__1::__function::__default_alloc_func<ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::AsynchronousMetrics::start()::$_0>(DB::AsynchronousMetrics::start()::$_0&&)::'lambda'(), void ()>::operator()[abi:v15000]() build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:235:12 (clickhouse+0xf392eca)
10 void std::__1::__function::__policy_invoker<void ()>::__call_impl<std::__1::__function::__default_alloc_func<ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::AsynchronousMetrics::start()::$_0>(DB::AsynchronousMetrics::start()::$_0&&)::'lambda'(), void ()>>(std::__1::__function::__policy_storage const*) build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:716:16 (clickhouse+0xf392eca)
11 std::__1::__function::__policy_func<void ()>::operator()[abi:v15000]() const build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:848:16 (clickhouse+0xf30682e) (BuildId: d49dc55f80b62802f8721fdbcb07bdc88ac204a4)
12 std::__1::function<void ()>::operator()() const build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:1187:12 (clickhouse+0xf30682e)
13 ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) build_docker/./src/Common/ThreadPool.cpp:421:13 (clickhouse+0xf30682e)
14 void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::'lambda0'()::operator()() const build_docker/./src/Common/ThreadPool.cpp:183:73 (clickhouse+0xf30d3d1) (BuildId: d49dc55f80b62802f8721fdbcb07bdc88ac204a4)
15 decltype(std::declval<void>()()) std::__1::__invoke[abi:v15000]<void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::'lambda0'()>(void&&) build_docker/./contrib/llvm-project/libcxx/include/__functional/invoke.h:394:23 (clickhouse+0xf30d3d1)
16 void std::__1::__thread_execute[abi:v15000]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::'lambda0'()>(std::__1::tuple<void, void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::'lambda0'()>&, std::__1::__tuple_indices<>) build_docker/./contrib/llvm-project/libcxx/include/thread:284:5 (clickhouse+0xf30d3d1)
17 void* std::__1::__thread_proxy[abi:v15000]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::'lambda0'()>>(void*) build_docker/./contrib/llvm-project/libcxx/include/thread:295:5 (clickhouse+0xf30d3d1)
SUMMARY: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) build_docker/./src/Common/AsynchronousMetrics.cpp:299:1 in DB::AsynchronousMetrics::~AsynchronousMetrics()
And the problem is real, see [2].
[1]: https://s3.amazonaws.com/clickhouse-test-reports/52717/a6cf2297ef07ca0b065d944c9e30a3986285331d/integration_tests__tsan__[2_6]/integration_run_parallel0_0.log
[2]: https://github.com/google/sanitizers/wiki/ThreadSanitizerPopularDataRaces#data-race-on-vptr
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-12-10 18:32:40 +01:00
Azat Khuzhin
a6cf2297ef
Fix Context use-after-free in ServerAsynchronousMetrics
...
TSan found [1]:
WARNING: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) (pid=598)
Write of size 8 at 0x7ffcf9ad9cb0 by main thread:
0 DB::AsynchronousMetrics::~AsynchronousMetrics() build_docker/./src/Common/AsynchronousMetrics.cpp:299:1 (clickhouse+0xf38ed6e) (BuildId: 31dcc7d77a0b2aaf9de7aca070b5f6ed6ac3dcbf)
1 DB::ServerAsynchronousMetrics::~ServerAsynchronousMetrics() build_docker/./src/Interpreters/ServerAsynchronousMetrics.h:10:7 (clickhouse+0xf2b2220) (BuildId: 31dcc7d77a0b2aaf9de7aca070b5f6ed6ac3dcbf)
2 DB::Server::main(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&) build_docker/./programs/server/Server.cpp:1995:1 (clickhouse+0xf2b2220)
3 Poco::Util::Application::run() build_docker/./base/poco/Util/src/Application.cpp:315:8 (clickhouse+0x1d6c535e) (BuildId: 31dcc7d77a0b2aaf9de7aca070b5f6ed6ac3dcbf)
4 DB::Server::run() build_docker/./programs/server/Server.cpp:397:25 (clickhouse+0xf29d341) (BuildId: 31dcc7d77a0b2aaf9de7aca070b5f6ed6ac3dcbf)
5 Poco::Util::ServerApplication::run(int, char**) build_docker/./base/poco/Util/src/ServerApplication.cpp:131:9 (clickhouse+0x1d6e50b4) (BuildId: 31dcc7d77a0b2aaf9de7aca070b5f6ed6ac3dcbf)
6 mainEntryClickHouseServer(int, char**) build_docker/./programs/server/Server.cpp:203:20 (clickhouse+0xf29a4a3) (BuildId: 31dcc7d77a0b2aaf9de7aca070b5f6ed6ac3dcbf)
7 main build_docker/./programs/main.cpp:505:12 (clickhouse+0x72d72a0) (BuildId: 31dcc7d77a0b2aaf9de7aca070b5f6ed6ac3dcbf)
Previous read of size 8 at 0x7ffcf9ad9cb0 by thread T727:
0 DB::AsynchronousMetrics::update(std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l>>>) build_docker/./src/Common/AsynchronousMetrics.cpp:1559:5 (clickhouse+0xf38dec5) (BuildId: 31dcc7d77a0b2aaf9de7aca070b5f6ed6ac3dcbf)
1 DB::AsynchronousMetrics::run() build_docker/./src/Common/AsynchronousMetrics.cpp:354:13 (clickhouse+0xf38f996) (BuildId: 31dcc7d77a0b2aaf9de7aca070b5f6ed6ac3dcbf)
2 DB::AsynchronousMetrics::start()::$_0::operator()() const build_docker/./src/Common/AsynchronousMetrics.cpp:273:62 (clickhouse+0xf3921ca) (BuildId: 31dcc7d77a0b2aaf9de7aca070b5f6ed6ac3dcbf)
3 decltype(std::declval<DB::AsynchronousMetrics::start()::$_0&>()()) std::__1::__invoke[abi:v15000]<DB::AsynchronousMetrics::start()::$_0&>(DB::AsynchronousMetrics::start()::$_0&) build_docker/./contrib/llvm-project/libcxx/include/__functional/invoke.h:394:23 (clickhouse+0xf3921ca)
4 decltype(auto) std::__1::__apply_tuple_impl[abi:v15000]<DB::AsynchronousMetrics::start()::$_0&, std::__1::tuple<>&>(DB::AsynchronousMetrics::start()::$_0&, std::__1::tuple<>&, std::__1::__tuple_indices<>) build_docker/./contrib/llvm-project/libcxx/include/tuple:1789:1 (clickhouse+0xf3921ca)
5 decltype(auto) std::__1::apply[abi:v15000]<DB::AsynchronousMetrics::start()::$_0&, std::__1::tuple<>&>(DB::AsynchronousMetrics::start()::$_0&, std::__1::tuple<>&) build_docker/./contrib/llvm-project/libcxx/include/tuple:1798:1 (clickhouse+0xf3921ca)
6 ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::AsynchronousMetrics::start()::$_0>(DB::AsynchronousMetrics::start()::$_0&&)::'lambda'()::operator()() build_docker/./src/Common/ThreadPool.h:253:13 (clickhouse+0xf3921ca)
7 decltype(std::declval<DB::AsynchronousMetrics::start()::$_0>()()) std::__1::__invoke[abi:v15000]<ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::AsynchronousMetrics::start()::$_0>(DB::AsynchronousMetrics::start()::$_0&&)::'lambda'()&>(DB::AsynchronousMetrics::start()::$_0&&) build_docker/./contrib/llvm-project/libcxx/include/__functional/invoke.h:394:23 (clickhouse+0xf3921ca)
8 void std::__1::__invoke_void_return_wrapper<void, true>::__call<ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::AsynchronousMetrics::start()::$_0>(DB::AsynchronousMetrics::start()::$_0&&)::'lambda'()&>(ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::AsynchronousMetrics::start()::$_0>(DB::AsynchronousMetrics::start()::$_0&&)::'lambda'()&) build_docker/./contrib/llvm-project/libcxx/include/__functional/invoke.h:479:9 (clickhouse+0xf3921ca)
9 std::__1::__function::__default_alloc_func<ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::AsynchronousMetrics::start()::$_0>(DB::AsynchronousMetrics::start()::$_0&&)::'lambda'(), void ()>::operator()[abi:v15000]() build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:235:12 (clickhouse+0xf3921ca)
10 void std::__1::__function::__policy_invoker<void ()>::__call_impl<std::__1::__function::__default_alloc_func<ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::AsynchronousMetrics::start()::$_0>(DB::AsynchronousMetrics::start()::$_0&&)::'lambda'(), void ()>>(std::__1::__function::__policy_storage const*) build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:716:16 (clickhouse+0xf3921ca)
11 std::__1::__function::__policy_func<void ()>::operator()[abi:v15000]() const build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:848:16 (clickhouse+0xf305b2e) (BuildId: 31dcc7d77a0b2aaf9de7aca070b5f6ed6ac3dcbf)
12 std::__1::function<void ()>::operator()() const build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:1187:12 (clickhouse+0xf305b2e)
13 ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) build_docker/./src/Common/ThreadPool.cpp:421:13 (clickhouse+0xf305b2e)
14 void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::'lambda0'()::operator()() const build_docker/./src/Common/ThreadPool.cpp:183:73 (clickhouse+0xf30c6d1) (BuildId: 31dcc7d77a0b2aaf9de7aca070b5f6ed6ac3dcbf)
15 decltype(std::declval<void>()()) std::__1::__invoke[abi:v15000]<void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::'lambda0'()>(void&&) build_docker/./contrib/llvm-project/libcxx/include/__functional/invoke.h:394:23 (clickhouse+0xf30c6d1)
16 void std::__1::__thread_execute[abi:v15000]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::'lambda0'()>(std::__1::tuple<void, void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::'lambda0'()>&, std::__1::__tuple_indices<>) build_docker/./contrib/llvm-project/libcxx/include/thread:284:5 (clickhouse+0xf30c6d1)
17 void* std::__1::__thread_proxy[abi:v15000]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::'lambda0'()>>(void*) build_docker/./contrib/llvm-project/libcxx/include/thread:295:5 (clickhouse+0xf30c6d1)
SUMMARY: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) build_docker/./src/Common/AsynchronousMetrics.cpp:299:1 in DB::AsynchronousMetrics::~AsynchronousMetrics()
Or MSan [2]:
==573==WARNING: MemorySanitizer: use-of-uninitialized-value
0 0x55b57079112d in std::__1::weak_ptr<DB::Context const>::lock() const build_docker/./contrib/llvm-project/libcxx/include/__memory/shared_ptr.h:1645:20
1 0x55b57079112d in DB::WithContextImpl<std::__1::shared_ptr<DB::Context const>>::getContext() const build_docker/./src/Interpreters/Context_fwd.h:41:28
2 0x55b57079112d in DB::ServerAsynchronousMetrics::updateImpl(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, DB::AsynchronousMetricValue, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, DB::AsynchronousMetricValue>>>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l>>>, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l>>>) build_docker/./src/Interpreters/ServerAsynchronousMetrics.cpp:260:63
3 0x55b559540309 in DB::AsynchronousMetrics::update(std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l>>>) build_docker/./src/Common/AsynchronousMetrics.cpp:1559:5
4 0x55b55954258c in DB::AsynchronousMetrics::run() build_docker/./src/Common/AsynchronousMetrics.cpp:354:13
5 0x55b559549111 in DB::AsynchronousMetrics::start()::$_0::operator()() const build_docker/./src/Common/AsynchronousMetrics.cpp:273:62
6 0x55b559549111 in decltype(std::declval<DB::AsynchronousMetrics::start()::$_0&>()()) std::__1::__invoke[abi:v15000]<DB::AsynchronousMetrics::start()::$_0&>(DB::AsynchronousMetrics::start()::$_0&) build_docker/./contrib/llvm-project/libcxx/include/__functional/invoke.h:394:23
7 0x55b559549111 in decltype(auto) std::__1::__apply_tuple_impl[abi:v15000]<DB::AsynchronousMetrics::start()::$_0&, std::__1::tuple<>&>(DB::AsynchronousMetrics::start()::$_0&, std::__1::tuple<>&, std::__1::__tuple_indices<>) build_docker/./contrib/llvm-project/libcxx/include/tuple:1789:1
8 0x55b559549111 in decltype(auto) std::__1::apply[abi:v15000]<DB::AsynchronousMetrics::start()::$_0&, std::__1::tuple<>&>(DB::AsynchronousMetrics::start()::$_0&, std::__1::tuple<>&) build_docker/./contrib/llvm-project/libcxx/include/tuple:1798:1
9 0x55b559549111 in ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::AsynchronousMetrics::start()::$_0>(DB::AsynchronousMetrics::start()::$_0&&)::'lambda'()::operator()() build_docker/./src/Common/ThreadPool.h:253:13
10 0x55b559549111 in decltype(std::declval<DB::AsynchronousMetrics::start()::$_0>()()) std::__1::__invoke[abi:v15000]<ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::AsynchronousMetrics::start()::$_0>(DB::AsynchronousMetrics::start()::$_0&&)::'lambda'()&>(DB::AsynchronousMetrics::start()::$_0&&) build_docker/./contrib/llvm-project/libcxx/include/__functional/invoke.h:394:23
11 0x55b559549111 in void std::__1::__invoke_void_return_wrapper<void, true>::__call<ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::AsynchronousMetrics::start()::$_0>(DB::AsynchronousMetrics::start()::$_0&&)::'lambda'()&>(ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::AsynchronousMetrics::start()::$_0>(DB::AsynchronousMetrics::start()::$_0&&)::'lambda'()&) build_docker/./contrib/llvm-project/libcxx/include/__functional/invoke.h:479:9
12 0x55b559549111 in std::__1::__function::__default_alloc_func<ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::AsynchronousMetrics::start()::$_0>(DB::AsynchronousMetrics::start()::$_0&&)::'lambda'(), void ()>::operator()[abi:v15000]() build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:235:12
13 0x55b559549111 in void std::__1::__function::__policy_invoker<void ()>::__call_impl<std::__1::__function::__default_alloc_func<ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::AsynchronousMetrics::start()::$_0>(DB::AsynchronousMetrics::start()::$_0&&)::'lambda'(), void ()>>(std::__1::__function::__policy_storage const*) build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:716:16
14 0x55b5593eb38a in std::__1::__function::__policy_func<void ()>::operator()[abi:v15000]() const build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:848:16
15 0x55b5593eb38a in std::__1::function<void ()>::operator()() const build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:1187:12
16 0x55b5593eb38a in ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) build_docker/./src/Common/ThreadPool.cpp:421:13
17 0x55b5593f9a0a in void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::'lambda0'()::operator()() const build_docker/./src/Common/ThreadPool.cpp:183:73
18 0x55b5593f9a0a in decltype(std::declval<void>()()) std::__1::__invoke[abi:v15000]<void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::'lambda0'()>(void&&) build_docker/./contrib/llvm-project/libcxx/include/__functional/invoke.h:394:23
19 0x55b5593f9a0a in void std::__1::__thread_execute[abi:v15000]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::'lambda0'()>(std::__1::tuple<void, void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::'lambda0'()>&, std::__1::__tuple_indices<>) build_docker/./contrib/llvm-project/libcxx/include/thread:284:5
20 0x55b5593f9a0a in void* std::__1::__thread_proxy[abi:v15000]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::'lambda0'()>>(void*) build_docker/./contrib/llvm-project/libcxx/include/thread:295:5
21 0x7f7ff3899ac2 (/lib/x86_64-linux-gnu/libc.so.6+0x94ac2) (BuildId: a43bfc8428df6623cd498c9c0caeb91aec9be4f9)
22 0x7f7ff392ba3f (/lib/x86_64-linux-gnu/libc.so.6+0x126a3f) (BuildId: a43bfc8428df6623cd498c9c0caeb91aec9be4f9)
Member fields were destroyed
0 0x55b541a72c9d in __sanitizer_dtor_callback_fields (/usr/bin/clickhouse+0x7c6dc9d) (BuildId: 57941f7730deefd0a2028f1d9f3e173472a4aa76)
1 0x55b559304b83 in std::__1::weak_ptr<DB::Context const>::~weak_ptr() build_docker/./contrib/llvm-project/libcxx/include/__memory/shared_ptr.h:1397:26
2 0x55b559304b83 in std::__1::weak_ptr<DB::Context const>::~weak_ptr() build_docker/./contrib/llvm-project/libcxx/include/__memory/shared_ptr.h:1553:1
3 0x55b559304b83 in DB::WithContextImpl<std::__1::shared_ptr<DB::Context const>>::~WithContextImpl() build_docker/./src/Interpreters/Context_fwd.h:30:8
4 0x55b559304b83 in DB::ServerAsynchronousMetrics::~ServerAsynchronousMetrics() build_docker/./src/Interpreters/ServerAsynchronousMetrics.h:10:7
5 0x55b559304b83 in DB::Server::main(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&) build_docker/./programs/server/Server.cpp:1995:1
6 0x55b5789f579e in Poco::Util::Application::run() build_docker/./base/poco/Util/src/Application.cpp:315:8
7 0x55b5592d762a in DB::Server::run() build_docker/./programs/server/Server.cpp:397:25
8 0x55b578a3efdf in Poco::Util::ServerApplication::run(int, char**) build_docker/./base/poco/Util/src/ServerApplication.cpp:131:9
9 0x55b5592d0489 in mainEntryClickHouseServer(int, char**) build_docker/./programs/server/Server.cpp:203:20
10 0x55b541acd4ab in main build_docker/./programs/main.cpp:505:12
11 0x7f7ff382ed8f (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f) (BuildId: a43bfc8428df6623cd498c9c0caeb91aec9be4f9)
SUMMARY: MemorySanitizer: use-of-uninitialized-value build_docker/./contrib/llvm-project/libcxx/include/__memory/shared_ptr.h:1645:20 in std::__1::weak_ptr<DB::Context const>::lock() const
[1]: https://s3.amazonaws.com/clickhouse-test-reports/52717/fcdead023c4350233ef1e0f7f82a71653ed62229/stress_test__tsan_.html
[2]: https://s3.amazonaws.com/clickhouse-test-reports/52717/fcdead023c4350233ef1e0f7f82a71653ed62229/stress_test__msan_.html
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-12-10 16:03:52 +01:00
Maksim Kita
cdf6da88fe
Fixed code review issues
2023-12-10 16:10:11 +03:00
Maksim Kita
0eb7a41bab
CHJIT add assembly printer
2023-12-10 16:10:11 +03:00
Azat Khuzhin
6ccbc2ea75
Move io_uring reader into the Context from static to make it's thread joinable
...
v2: fix for standalone keeper build
CI: https://s3.amazonaws.com/clickhouse-test-reports/52717/72b1052f7c2d453308262924e767ab8dc2206933/stateless_tests__debug__[4_5].html
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-12-09 22:50:48 +01:00
Nikolay Degterinsky
c5e52d260f
Merge pull request #57553 from evillique/fix-local-crash
...
Fix crash in clickhouse-local
2023-12-08 22:57:52 +01:00
Gagan Goel
e547db0a8c
Issue 43666: Add skip_unavailable_shards as a setting for Distributed table.
...
This setting, when enabled (disabled by default), allows ClickHouse to
silently skip unavailable shards of a Distributed table during a query
execution, instead of throwing an exception to the client.
2023-12-08 15:43:59 -05:00
Nikolay Degterinsky
10bfd054d8
Fix style & review
2023-12-08 19:40:09 +00:00
Nikita Mikhaylov
c979124cfe
Merge branch 'master' of github.com:ClickHouse/ClickHouse into remove-the-limit-for-connections-per-endpoint
2023-12-08 16:25:02 +00:00
kssenii
02d19fa7ef
Make querying system.filesystem_cache not memory intensive
2023-12-08 17:09:09 +01:00
vdimir
8ebd5a2d6c
Fix type correction in HashJoin for nested low cardinality
2023-12-08 15:50:33 +00:00
Kseniia Sumarokova
bd3665863c
Merge branch 'master' into allow-to-change-some-cache-settings-without-restart
2023-12-08 15:36:40 +01:00
kssenii
ea63819c76
Better
2023-12-08 15:21:42 +01:00
zhongyuankai
7b0f8d44e8
Make DirectoryMonitor handle cluster node list change ( #42826 )
2023-12-08 14:41:51 +01:00
Alexey Milovidov
429ed34607
Merge pull request #57479 from mkmkme/mkmkme/zookeeper-read-only
...
Add support for read-only mode in ZooKeeper
2023-12-07 20:22:00 +01:00
kssenii
ff65d0e727
Adjustments after merge with master
2023-12-07 19:49:30 +01:00
kssenii
725571461d
Merge remote-tracking branch 'origin/master' into slru-for-filesystem-cache
2023-12-07 19:49:03 +01:00
kssenii
7205e4edbe
Review fix
2023-12-07 18:47:14 +01:00
vdimir
f058fe1d20
Merge pull request #57564 from ClickHouse/vdimir/join_on_false_const_fix
...
Materialize block in HashJoin for Type::EMPTY
2023-12-07 15:09:05 +01:00
kssenii
c785ebe921
Fix style check
2023-12-07 12:47:51 +01:00
kssenii
cc483c19a8
Fix merge with master
2023-12-07 12:14:49 +01:00
kssenii
8be3c9d218
Merge remote-tracking branch 'origin/master' into allow-to-change-some-cache-settings-without-restart
2023-12-07 12:14:24 +01:00
kssenii
614da21144
Better
2023-12-07 12:12:10 +01:00
Nikolay Degterinsky
995b51ef73
Allow avoiding resolving hostnames in DDLWorker
2023-12-07 03:43:26 +00:00
凌涛
d0675488ac
rebase
2023-12-07 11:14:55 +08:00
Bharat Nallan Chakravarthy
029a0c0b77
fix clang-tidy
2023-12-06 12:30:39 -08:00
kssenii
f44f7c8c28
Allow to change some cache settings without server restart
2023-12-06 19:29:18 +01:00
Bharat Nallan Chakravarthy
6125c1692b
only account for active parts
2023-12-06 08:43:30 -08:00
vdimir
f29386de0b
Materialize block in HashJoin for Type::EMPTY
2023-12-06 11:17:29 +00:00
Igor Nikonov
b4922eece4
Merge remote-tracking branch 'origin/master' into pr-custom-key-failover
2023-12-06 10:44:30 +00:00
Nikolay Degterinsky
ed618d3be1
Fix crash in clickhouse-local
2023-12-06 04:24:43 +00:00
Bharat Nallan Chakravarthy
d1c5163a38
asynchronous metrics - total primary key bytes in memory
2023-12-05 18:46:16 -08:00
Igor Nikonov
f123dd0070
Fix addShard()
2023-12-05 18:07:51 +00:00
MikhailBurdukov
c41511e51c
ignore_on_cluster_for_grants
2023-12-05 15:11:32 +00:00
Maksim Kita
c976f2fdf7
JIT fix arguments aliasing
2023-12-05 18:05:20 +03:00
Anton Popov
913ae1d267
Merge remote-tracking branch 'upstream/master' into HEAD
2023-12-05 14:47:32 +00:00
Anton Popov
c0e45c15fb
add test for lightweight deletes and mutations
2023-12-05 13:38:25 +00:00
Nikita Mikhaylov
04d167c6d9
Better
2023-12-05 13:34:37 +01:00
Igor Nikonov
b2a269e8ce
Formatting
2023-12-05 12:31:24 +00:00
Igor Nikonov
87a4c0bde4
Simple cleanup in distributed (while dealing with parallel replicas)
2023-12-05 12:25:02 +00:00
Igor Nikonov
71204c2a82
Merge remote-tracking branch 'origin/master' into pr-custom-key-failover
2023-12-05 12:00:45 +00:00
Alexey Milovidov
cbea3545aa
Revert "add function getClientHTTPHeader"
2023-12-05 13:34:34 +03:00
Alexey Milovidov
1f752b79db
Merge pull request #55894 from bharatnc/ncb/hostname-system-log-tables
...
add hostname column to system log tables
2023-12-05 06:42:43 +01:00
凌涛
9e05e79d66
Merge branch 'master' into feature/more_warnings
2023-12-05 11:50:05 +08:00
凌涛
6794bbe196
rebase master
2023-12-05 11:42:25 +08:00
凌涛
5a51fdac95
modify
2023-12-05 11:33:40 +08:00
Anton Popov
69896d94be
fix tests
2023-12-04 21:40:19 +00:00
Anton Popov
40a1744b7c
Merge remote-tracking branch 'upstream/master' into HEAD
2023-12-04 18:10:43 +00:00
kssenii
4a28f10c3d
Minor cache changes
2023-12-04 19:02:37 +01:00
Alexey Milovidov
02439eee58
Merge pull request #49351 from ClickHouse/async-loader-integration
...
Asynchronous loading of tables
2023-12-04 17:16:12 +01:00
Mikhail Koviazin
bef3fff731
Add support for read-only mode in ZooKeeper
...
This commit enables the read-only flag when connecting to the ZooKeeper server.
This flag is enabled by sending one extra byte when connecting,
and then receiving one extra byte during the first response.
In addition to that, we modify createIfNotExists to not complain
about attempting to alter a read-only ZooKeeper cluster if the node
already exists.
This makes ClickHouse more useful in the event of a loss of quorum,
user credentials are still accessible, which makes it possible to
connect to the cluster and run read queries.
Any DDL or DML query on a Distributed database or ReplicatedMergeTree
table will correctly fail, since it needs to write to ZooKeeper to
execute the query.
Any non-distributed query will be possible, which is ok since the
query was never replicated in the first place, there is no loss of
consistency.
Fixes #53749 as it seems to be the only thing 3.9 enforced.
2023-12-04 16:47:12 +02:00
vdimir
a4ae90de0d
Merge pull request #57275 from ClickHouse/vdimir/merge_task_tmp_data
...
Background merges correctly use temporary data storage in the cache
2023-12-04 14:52:20 +01:00
Anton Popov
8d30e22a09
fix lighweight delete with heavy delete
2023-12-04 13:00:50 +00:00
Kseniia Sumarokova
715ec0d334
Merge pull request #56383 from ClickHouse/fix-backup-restore-with-mv
...
Fix restore from backup with mat view and dropped source table
2023-12-04 13:25:13 +01:00
Kseniia Sumarokova
4d3fde3624
Merge pull request #57424 from ClickHouse/fix-cache-background-download-queue-limit
...
fs cache: add limit for background download
2023-12-04 11:03:20 +01:00
Bharat Nallan Chakravarthy
440dc66a5c
Merge remote-tracking branch 'upstream/master' into ncb/hostname-system-log-tables
2023-12-03 15:19:47 -08:00
Bharat Nallan Chakravarthy
efbf39ea06
improve TableNameHints
2023-12-02 00:45:21 -08:00
Igor Nikonov
3fec1f4110
Fix clang-tidy warning: move from moved object
2023-12-01 21:01:35 +00:00
Anton Popov
7fbe7462b6
add mutation command to apply deleted mask
2023-12-01 19:12:05 +00:00
JackyWoo
8a68d51261
Add index to table system.numbers ( #50909 )
2023-12-01 19:59:25 +01:00
robot-ch-test-poll
1b49463bd2
Merge pull request #55841 from nickitat/optimize_reading3
...
Optimize reading from cache
2023-12-01 17:36:57 +01:00
Nikolai Kochetov
0b4131546a
Merge pull request #56813 from jsc0218/SystemTablesFilterEngine
...
Able to Filter Engine When Scanning System Tables
2023-12-01 16:02:27 +01:00
kssenii
60d7a268ce
Add a limit for background download queue
2023-12-01 14:53:31 +01:00
Maksim Kita
8b5e6af689
Fixed tests
2023-12-01 13:45:57 +03:00
Maksim Kita
8bc7dbc8f7
Enable JIT compilation for aggregation without key
2023-12-01 13:45:57 +03:00
Julia Kartseva
1f8031c6e1
Merge pull request #56892 from icuken/alter_temporary_table
...
allow ALTER for TEMPORARY tables
2023-11-30 18:29:43 -08:00
Yakov Olkhovskiy
416d28687e
Merge remote-tracking branch 'origin/master' into feature-server-iface-metrics
2023-11-30 23:00:04 +00:00
Igor Nikonov
45ebe78d32
Cleanup
2023-11-30 21:40:45 +00:00
Yakov Olkhovskiy
549a90ba09
unfortunately we can't release session's named_session early because its context's ClientInfo still may be used in ~Session - next session can start and compete for this data
2023-11-30 19:56:25 +00:00
Raúl Marín
46acd8736c
Merge pull request #57189 from Algunenano/fix_respect_nulls
...
Fix RESPECT NULLS
2023-11-30 20:21:42 +01:00
Sergey Kviatkevich
afae432e99
allow ALTER for TEMPORARY table
2023-11-30 21:42:12 +03:00
Yakov Olkhovskiy
d2bfddd28d
attempt to solve data race, small optimization
2023-11-30 18:29:00 +00:00
Igor Nikonov
b4bf611d5d
Merge remote-tracking branch 'origin/master' into pr-custom-key-failover
2023-11-30 14:09:26 +00:00
Igor Nikonov
59daabe95a
Some refactoring and cleanup
...
+ change load balancing for custom key w/o hedged connections
(need the test though)
2023-11-30 14:08:01 +00:00
Raúl Marín
a331e346a1
Style fix
2023-11-30 14:20:32 +01:00
kssenii
7bd458ac91
Merge remote-tracking branch 'origin/master' into fix-backup-restore-with-mv
2023-11-30 14:16:11 +01:00
Raúl Marín
7fa626bfef
Reject NULL actions on normal functions and fix serialization
2023-11-30 13:16:51 +01:00
Alexander Gololobov
b9b94a8e0a
Merge pull request #57358 from ClickHouse/shutdown_order
...
Shutdown disks after tables
2023-11-30 09:13:29 +01:00
凌涛
d9f4b4d2c0
support parts, tables, databases
2023-11-30 10:56:31 +08:00
Alexander Tokmakov
12cb3b3b87
Merge branch 'master' into drop_database_replica_no_throw
2023-11-30 00:00:07 +01:00
Alexander Gololobov
2ccd7237f5
Shutdown disks after tables
2023-11-29 20:04:37 +01:00
Alexander Tokmakov
a8ed97ac39
Update DDLTask.cpp
2023-11-29 19:51:32 +01:00
Alexander Tokmakov
a2dc2d9a53
Mark a setting obsolete ( #57336 )
...
* Update Settings.h
* Update InterpreterUndropQuery.cpp
* Update 02888_obsolete_settings.reference
* Update test.py
* Update 02681_undrop_query.sql
* Update 02681_undrop_query_uuid.sh
2023-11-29 19:24:11 +01:00
kssenii
296afceed8
Merge remote-tracking branch 'origin/master' into fix-backup-restore-with-mv
2023-11-29 18:06:09 +01:00
Alexander Tokmakov
97b63bbbca
Merge pull request #57339 from ClickHouse/fix_ddlworker_hostname_change
...
Ignore finished ON CLUSTER tasks if hostname changed
2023-11-29 17:46:17 +01:00
vdimir
b5babe1692
MergeTask uses temporary data storage
2023-11-29 16:18:32 +00:00
Han Fei
4c0efb0262
Merge pull request #53240 from hanfei1991/hanfei/statistic
...
use statistic to order prewhere conditions better
2023-11-29 12:26:44 +01:00
Kseniia Sumarokova
4d27f87be8
Merge pull request #48425 from ClickHouse/vdimir/enable-tmp-in-cache-ci
...
Enable temporary_data_in_cache in s3 tests in CI
2023-11-29 11:59:32 +01:00
vdimir
470a092e3d
Merge pull request #51745 from ClickHouse/vdimir/setting_join_algorithm_order
...
Setting JoinAlgorithm respect specified order
2023-11-29 11:24:39 +01:00
Bharat Nallan Chakravarthy
4ca3d0d5c4
better hints when table doesn't exist
2023-11-28 21:34:02 -08:00
Alexander Tokmakov
84abbafcc5
ignore finished ddl tasks if hostname changed
2023-11-29 02:06:52 +01:00
Alexander Tokmakov
67f0a0e3e4
don't throw if noop when dropping db replica in batch
2023-11-28 23:57:55 +01:00
vdimir
a6eb2ad930
Fix JoinStep::describeJoinActions
2023-11-28 19:09:01 +00:00
Igor Nikonov
a06a71834a
Merge remote-tracking branch 'origin/master' into pr-custom-key-failover
2023-11-28 18:07:04 +00:00
Igor Nikonov
25eee6cd01
Fix clang-tidy warnings
2023-11-28 18:06:13 +00:00
Nikolai Kochetov
84194f10f2
Fixing tests.
2023-11-28 18:04:30 +00:00
Nikita Taranov
03450d5077
merge fixes
2023-11-28 18:24:05 +01:00
Nikita Taranov
52f644c0df
Merge branch 'master' into optimize_reading3
2023-11-28 16:36:38 +01:00
Han Fei
6733438adc
Merge branch 'master' into hanfei/statistic
2023-11-28 16:35:00 +01:00
János Benjamin Antal
4c2451f837
Merge pull request #56741 from ClickHouse/well-known-protos
2023-11-28 15:21:15 +01:00
Raúl Marín
48fff248e5
Merge remote-tracking branch 'blessed/master' into fix_respect_nulls
2023-11-28 12:28:36 +01:00
Raúl Marín
335e7bf7ef
Merge pull request #57183 from bigo-sg/opt_array_join
...
Trivial improvement on array join
2023-11-28 12:21:00 +01:00
Raúl Marín
fe1bbf9726
Merge pull request #57258 from Algunenano/cleanup_interval
...
Remove addBatchSinglePlaceFromInterval
2023-11-28 12:02:12 +01:00
vdimir
aa5d973204
Fix direct join with range dictionary in
...
JoinedTables.cpp and update test queries
2023-11-28 11:01:38 +00:00
vdimir
5c20e5039b
Remove redundant descriptionForPlan
2023-11-28 11:01:38 +00:00
vdimir
af81cb8252
Setting JoinAlgorithm respect specified order
2023-11-28 11:01:35 +00:00