Commit Graph

2676 Commits

Author SHA1 Message Date
Azat Khuzhin
8b58dba094 Drop unused HexWriteBuffer 2021-02-28 10:52:09 +03:00
feng lv
51021c1164 forbid to drop a column if it's referenced by materialized view 2021-02-28 05:24:39 +00:00
Azat Khuzhin
7d51ae3212 DDLWorker: Fix processing of tasks in parallel (correct queue begin)
Otherwise it will:
- start from incorrect task and bail because finished node already
  exists
- and also process alreayd processed items
2021-02-28 05:45:12 +03:00
Azat Khuzhin
955974a8b5 DDLWorker: avoid NULL dereference on termination and failed zookeeper initialization
Log snipped shows the problem:

    2021.02.24 04:40:29.349181 [ 39 ] {} <Warning> DDLWorker: DDLWorker is configured to use multiple threads. It's not recommended because queries can be reordered. Also it may cause some unknown issues to appear.
    2021.02.24 04:40:29.349516 [ 39 ] {} <Information> Application: Ready for connections.
    2021.02.24 04:40:29.349602 [ 74 ] {} <Debug> DDLWorker: Started DDLWorker cleanup thread
    2021.02.24 04:40:29.349639 [ 73 ] {} <Debug> DDLWorker: Starting DDLWorker thread
    2021.02.24 04:40:29.349698 [ 73 ] {} <Debug> DDLWorker: Started DDLWorker thread
    2021.02.24 04:40:29.352548 [ 73 ] {} <Error> virtual void DB::DDLWorker::initializeMainThread(): Code: 999, e.displayText() = Coordination::Exception: All connection tries failed while connecting to ZooKeeper. nodes: 192.168.112.3:2181
    Poco::Exception. Code: 1000, e.code() = 111, e.displayText() = Connection refused (version 21.3.1.1), 192.168.112.3:2181
    Poco::Exception. Code: 1000, e.code() = 111, e.displayText() = Connection refused (version 21.3.1.1), 192.168.112.3:2181
    Poco::Exception. Code: 1000, e.code() = 111, e.displayText() = Connection refused (version 21.3.1.1), 192.168.112.3:2181
     (Connection loss), Stack trace (when copying this message, always include the lines below):

    0. Coordination::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Coordination::Error, int) @ 0xfe93923 in /usr/bin/clickhouse
    1. Coordination::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Coordination::Error) @ 0xfe93ba2 in /usr/bin/clickhouse
    2. Coordination::ZooKeeper::connect(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> > const&, Poco::Timespan) @ 0xfed3a01 in /usr/bin/clickhouse
    3. Coordination::ZooKeeper::ZooKeeper(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan, Poco::Timespan, Poco::Timespan) @ 0xfed2222 in /usr/bin/clickhouse
    4. zkutil::ZooKeeper::init(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) @ 0xfe961cd in /usr/bin/clickhouse
    5. zkutil::ZooKeeper::ZooKeeper(Poco::Util::AbstractConfiguration const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) @ 0xfe97a96 in /usr/bin/clickhouse
    6. void std::__1::allocator_traits<std::__1::allocator<zkutil::ZooKeeper> >::__construct<zkutil::ZooKeeper, Poco::Util::AbstractConfiguration const&, char const (&) [10]>(std::__1::integral_constant<bool, true>, std::__1::allocator<zkutil::ZooKeeper>&, zkutil::ZooKeeper*, Poco::Util::AbstractConfiguration const&, char const (&) [10]) @ 0xed98387 in /usr/bin/clickhouse
    7. DB::Context::getZooKeeper() const @ 0xed75190 in /usr/bin/clickhouse
    8. DB::DDLWorker::getAndSetZooKeeper() @ 0xedb81c9 in /usr/bin/clickhouse
    9. DB::DDLWorker::initializeMainThread() @ 0xedc9eb0 in /usr/bin/clickhouse
    10. DB::DDLWorker::runMainThread() @ 0xedb5d01 in /usr/bin/clickhouse
    11. ThreadFromGlobalPool::ThreadFromGlobalPool<void (DB::DDLWorker::*)(), DB::DDLWorker*>(void (DB::DDLWorker::*&&)(), DB::DDLWorker*&&)::'lambda'()::operator()() @ 0xedcafa1 in /usr/bin/clickhouse
    12. ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) @ 0x892651f in /usr/bin/clickhouse
    13. ? @ 0x8929fb3 in /usr/bin/clickhouse
    14. start_thread @ 0x8ea7 in /lib/x86_64-linux-gnu/libpthread-2.31.so
    15. __clone @ 0xfddef in /lib/x86_64-linux-gnu/libc-2.31.so
     (version 21.3.1.1)
    ...
    2021.02.24 04:40:30.025278 [ 41 ] {} <Trace> BaseDaemon: Received signal 15
    2021.02.24 04:40:30.025336 [ 41 ] {} <Information> Application: Received termination signal (Terminated)
    ...
    2021.02.24 04:40:30.582078 [ 39 ] {} <Information> Application: Closed all listening sockets.
    2021.02.24 04:40:30.582124 [ 39 ] {} <Information> Application: Closed connections.
    2021.02.24 04:40:30.583770 [ 39 ] {} <Information> Application: Shutting down storages.
    2021.02.24 04:40:30.583932 [ 39 ] {} <Information> Context: Shutdown disk data
    2021.02.24 04:40:30.583951 [ 39 ] {} <Information> Context: Shutdown disk default
    2021.02.24 04:40:30.584163 [ 46 ] {} <Trace> SystemLog (system.query_log): Terminating
    2021.02.24 04:40:30.586025 [ 39 ] {} <Trace> BackgroundSchedulePool/BgSchPool: Waiting for threads to finish.
    2021.02.24 04:40:34.352701 [ 73 ] {} <Debug> DDLWorker: Initialized DDLWorker thread
    2021.02.24 04:40:34.352758 [ 73 ] {} <Debug> DDLWorker: Scheduling tasks
2021-02-28 05:45:12 +03:00
Azat Khuzhin
3c7e765b27 DDLWorker: process unfinished tasks only after reinitialization 2021-02-28 05:45:12 +03:00
Azat Khuzhin
54b1496408 DDLWorker: optimize processing of unfinished tasks
Do not look at zookeeper if was_executed is false
2021-02-28 05:45:12 +03:00
Azat Khuzhin
eeda1fe756 DDLWorker: wait for pending async tasks 2021-02-28 05:45:12 +03:00
Azat Khuzhin
0cd67ed051 DDLWorker: remove only completed tasks (significant for distributed_ddl.pool_size > 1)
Otherwise it will SIGSEGV due to invalid-read (UAF).
2021-02-28 05:45:12 +03:00
Azat Khuzhin
7481b05d27 DDLWorker: avoid comparing pointers for getting min element
The current_tasks always updated with emplace_back, so front() is ok.
2021-02-28 05:45:11 +03:00
Azat Khuzhin
78c6e0527d DDLWorker: Fix reference to zookeeper with distributed_ddl.pool_size > 1 (thread pool) 2021-02-28 05:45:11 +03:00
Azat Khuzhin
f7dbcfc12a DDLTask: Use std::uncaught_exceptions() over deprecated std::uncaught_exception() 2021-02-28 05:45:11 +03:00
alexey-milovidov
b8fba768e5
Merge pull request #21264 from ClickHouse/fix_zookeeper_update
Fix several bugs with ZooKeeper client
2021-02-28 01:57:04 +03:00
Vladimir
df728dc4ba
Merge pull request #21248 from vdimir/fix-join-totals-nullable
Convert columns to nullable for totals in join
2021-02-27 11:31:02 +03:00
feng lv
4ac5b62f19 Merge branch 'master' of github.com:ClickHouse/ClickHouse into union-distinct-improve 2021-02-27 08:02:41 +00:00
alesapin
a48bb7e3a0 Fix redundant zookeeper reconnect and possibility of multiple zookeeper session for a single ClickHouse server 2021-02-26 22:05:25 +03:00
Nikolai Kochetov
d91b8a3acb
Merge branch 'master' into filter-push-down 2021-02-26 19:33:27 +03:00
Nikolai Kochetov
d328bfa41f Review fixes. Add setting max_optimizations_to_apply. 2021-02-26 19:29:56 +03:00
vdimir
932286df1f
Convert columns to nullable for totals in join 2021-02-26 16:32:34 +03:00
feng lv
4c30c10092 add test
fix
2021-02-26 12:14:57 +00:00
Vladimir
78024ae2d6
Merge pull request #21009 from vdimir/fix-race-storage-join 2021-02-26 14:26:10 +03:00
Nikolai Kochetov
f63d7b45ce Merge branch 'master' into fix-number-of-threads-in-subqueries 2021-02-26 11:15:03 +03:00
alesapin
5b72cd231f
Merge pull request #21183 from ClickHouse/fix_mutation_for_storages
Restrict mutations for engines which doesn't support them
2021-02-26 09:54:09 +03:00
vdimir
9c1ba71416
Merge remote-tracking branch 'upstream/master' into fix-race-storage-join 2021-02-25 19:13:49 +03:00
alexey-milovidov
0067a3beac
Merge pull request #19801 from ucasFL/ms
continue of #19487
2021-02-25 19:12:47 +03:00
vdimir
4c6cde4d53
Merge remote-tracking branch 'upstream/master' into join-cast-types-v2 2021-02-25 16:24:28 +03:00
vdimir
6f864ddb42
Minor changes in Hash/StorageJoin, add TableLockHolder to ExecutableFunctionJoinGet 2021-02-25 14:21:06 +03:00
alesapin
5c6c318737 Restrict mutations for engines which doesn't support them 2021-02-25 13:07:48 +03:00
vdimir
f1c60109f6
Add static_assert to joinGet to keep information about current locking logic 2021-02-25 12:42:20 +03:00
vdimir
2f70e895fc
Update StorageJoin locking
Move joinGet into StorageJoin

Protect JoinSource with lock, add test

Add comments about locking logic
2021-02-25 12:31:22 +03:00
feng lv
731faeadbf union distinct improve 2021-02-25 07:47:08 +00:00
Vladimir
36c178c023
Merge pull request #21117 from amosbird/joingetlc 2021-02-25 10:06:57 +03:00
vdimir
6aa4791be2
Remove unused *Locked methods from HashJoin, add comments 2021-02-24 19:19:04 +03:00
Amos Bird
2cb273d436
Fix 2021-02-24 16:44:51 +08:00
Amos Bird
0f7f2a4962
Support LC type for joinGet 2021-02-24 11:35:45 +08:00
Maksim Kita
f001a6755e Updated for map 2021-02-22 23:32:43 +03:00
Alexey Milovidov
0ab14120ef Improve performance of trivial count query in presense of "distributed_aggregation_memory_efficient" 2021-02-21 23:06:31 +03:00
alexey-milovidov
20a7ccf5b1
Merge pull request #20174 from amosbird/alias
Normalized function names (lower-case case-insensitive names)
2021-02-21 16:23:51 +03:00
Denis Glazachev
c1158b50f4 Merge branch 'master' into row-policy-with-prewhere
* master: (155 commits)
  Update version_date.tsv after release 20.8.13.15
  Update version_date.tsv after release 20.12.7.3
  Update version_date.tsv after release 21.1.5.4
  Update version_date.tsv after release 21.2.4.6
  fix
  Add test to skip list
  Fix WriteBufferFromHTTPServerResponse usage in other places (add missing finalize())
  Fix WriteBufferFromHTTPServerResponse usage in odbc-bridge
  Update config.xml
  Suppress signed overflow in AggregateFunctionGroupArrayMoving 2
  Update BaseDaemon.cpp
  review suggestions
  Fix bash syntax in 01731_async_task_queue_wait
  Do not use view() in 01731_async_task_queue_wait to fix ANTLR parser
  Increase buffer for uncaught exception / std::terminate
  Even more better
  Fix uncaught exception when HTTP client goes away
  test for decimal ( p , s) in dictionaries
  Just little better
  Fixed style check
  ...
2021-02-21 13:25:47 +04:00
Denis Glazachev
dfde9de0e9 Remove commented-out code 2021-02-20 23:30:21 +04:00
Nikolai Kochetov
00e0dbc3e5 Fix test. 2021-02-20 20:42:06 +03:00
tavplubix
a697b578bc
Merge pull request #16193 from ClickHouse/database_replicated
DatabaseReplicated: continuation of #10485
2021-02-20 19:39:34 +03:00
Nikolai Kochetov
f0396661b3 Refactor ActionsDAG::splitActionsForFilter 2021-02-20 19:13:36 +03:00
vdimir
6cc2fb5e9f
Try to fix race in storage join: block parralel inserts 2021-02-20 18:00:59 +03:00
alexey-milovidov
316cdf5039
Merge pull request #20978 from ClickHouse/little-better
Just little better
2021-02-20 17:53:07 +03:00
Nikolai Kochetov
8a876b9510 Fix aliases for row level actions. 2021-02-20 17:19:11 +03:00
Nikolai Kochetov
a8bc2722f4 Fix getHeaderForProcessingStage 2021-02-20 14:04:32 +03:00
Nikolai Kochetov
673e24d7ef Refactor 2021-02-20 14:00:16 +03:00
Amos Bird
f37631830f
Comments 2021-02-20 16:45:25 +08:00
alexey-milovidov
9c48fcfdef
Merge pull request #20882 from azat/distributed_group_by_no_merge-improvements
Do only merging of sorted blocks on initiator with distributed_group_by_no_merge=2
2021-02-20 10:36:32 +03:00
Alexander Tokmakov
2a36d6cb55 review suggestions 2021-02-20 02:41:58 +03:00
Alexey Milovidov
0f77b6fd95 Even more better 2021-02-19 22:01:45 +03:00
Alexey Milovidov
252bcccdda Just little better 2021-02-19 21:32:39 +03:00
Denis Glazachev
8cc72b8fe0 Merge branch 'master' into row-policy-with-prewhere
* master: (160 commits)
  Make Poco HTTP Server zero-copy again (#19516)
  Fixed documentation
  ccache 4.2+ does not requires any quirks for SOURCE_DATE_EPOCH
  Add a function `htmlOrXmlCoarseParse` to extract content from html or xml format string. (#19600)
  Reinterpret function added Decimal, DateTim64 support
  Add test
  Update InterpreterSelectQuery.cpp
  Improved serialization for data types combined of Arrays and Tuples. Improved matching enum data types to protobuf enum type. Fixed serialization of the Map data type. Omitted values are now set by default.
  Log stdout and stderr when failed to start docker in integration tests.
  Added comment
  Don't backport base commit of branch in the same branch (#20628)
  Fix fasttest retry for failed tests
  Dictionary create source with functions crash fix
  Added error reinterpretation tests
  Update run.sh
  Updated documentation
  fix subquery with limit
  Rename untyped function reinterpretAs into reinterpret
  ignore data store files
  Support vhost
  ...
2021-02-19 19:49:37 +04:00
Denis Glazachev
5e5b3b80ce Remove debug printouts 2021-02-19 19:46:52 +04:00
vdimir
946576017f
Update CrossToInnerJoinVisitor, add tests to cross_to_inner_join 2021-02-19 17:06:57 +03:00
Ivan
414f470c79
Make Poco HTTP Server zero-copy again (#19516)
* Refactoring: part 1

* Refactoring: part 2

* Handle request using ReadBuffer interface

* Struggles with ReadBuffer's

* Fix URI parsing

* Implement parsing of multipart/form-data

* Check HTTP_LENGTH_REQUIRED before eof() or will hang

* Fix HTTPChunkedReadBuffer

* Fix build and style

* Fix test

* Resist double-eof

* Fix arcadian build
2021-02-19 15:51:26 +03:00
vdimir
e052a5a05e
Revert "Support old cross to inner join rewrite behaviour"
This reverts commit 527210b5e4.
2021-02-19 15:14:24 +03:00
vdimir
1e37d7c84f
Add comments to TableJoin::inferJoinKeyCommonType 2021-02-19 14:28:41 +03:00
vdimir
456414beea
Fix converting join on keys, move actions into TableJoin 2021-02-19 14:28:41 +03:00
vdimir
3a7eddcf3a
Remove addRequiredLeftColumn, some tests for join on different types 2021-02-19 14:28:40 +03:00
vdimir
a378bd08aa
Perform implicit type conversion for JOIN ON keys 2021-02-19 14:28:40 +03:00
vdimir
9b79ab2ac0
Fix style in appendJoin 2021-02-19 14:28:40 +03:00
vdimir
4203dd5e38
Give up on name mismatch in inferJoinKeyCommonType 2021-02-19 14:28:39 +03:00
vdimir
435f63f42b
Calculate common type for join using in TreeRewriter
Split before_join and converting_join_columns dags

Add more detailed comments for column type conversion for join using
2021-02-19 14:28:32 +03:00
vdimir
d15c1a203b
Fix TableJoin, upd 01675_join_implicit_cast 2021-02-19 14:24:34 +03:00
vdimir
f5b98015a8
Fix converting right key type in join using 2021-02-19 14:24:33 +03:00
vdimir
4c36cd1737
Add converting step for 'join using' 2021-02-19 14:24:28 +03:00
Azat Khuzhin
af660140c3 Do only merging of sorted blocks on initiator with distributed_group_by_no_merge=2
When distributed_group_by_no_merge=2 is used (or when
optimize_distributed_group_by_sharding_key takes place), remote servers
will do full ORDER BY, so initiator can skip this step and do only merge
of ordered blocks.
2021-02-18 21:43:27 +03:00
Azat Khuzhin
b854a7b7f8 Add some details into comment for first_stage/second_stage
Regardless
distributed_group_by_no_merge=2/optimize_distributed_group_by_sharding_key
2021-02-18 21:41:50 +03:00
Alexander Tokmakov
8097532cb7 Merge branch 'master' into database_replicated 2021-02-18 17:42:06 +03:00
Amos Bird
2c4bc43014
Backward compatible 2021-02-18 20:20:29 +08:00
Amos Bird
f402aa4057
Normalize constant expression 2021-02-18 20:20:28 +08:00
Amos Bird
2dc7ba160a
Better 2021-02-18 20:20:28 +08:00
Amos Bird
77fd060665
Normalize function names 2021-02-18 20:20:28 +08:00
Nikolai Kochetov
d582160af4 Merge branch 'master' into filter-push-down 2021-02-18 10:58:27 +03:00
alexey-milovidov
80e6ad7aae
Merge pull request #20610 from ucasFL/fix-union-distinct-limit
fix subquery with limit
2021-02-17 21:24:10 +03:00
alexey-milovidov
3891dd6284
Update InterpreterSelectQuery.cpp 2021-02-17 21:23:27 +03:00
Nikolai Kochetov
6522bfc402 Support for DIstinct, sorting steps. 2021-02-17 19:54:11 +03:00
Nikolai Kochetov
a8647096ed Try fix tests. 2021-02-17 13:27:47 +03:00
Vladimir
2c99a36228
Merge pull request #19685 from hexiaoting/dev_joinon 2021-02-17 13:22:55 +03:00
vdimir
527210b5e4
Support old cross to inner join rewrite behaviour 2021-02-17 12:44:53 +03:00
feng lv
3b40099578 fix subquery with limit 2021-02-17 08:26:52 +00:00
Alexander Tokmakov
1aac7b3471 Merge branch 'master' into database_replicated 2021-02-17 00:39:56 +03:00
Vitaly Baranov
298130402e SYSTEM queries now consume quota. 2021-02-16 23:54:05 +03:00
Vitaly Baranov
f83be158ba SHOW TABLES is now considered as one query in the quota calculations, not two queries. 2021-02-16 23:53:58 +03:00
vdimir
1680c8e73e
Merge remote-tracking branch 'upstream/master' into cross-to-inner-join-rewrite 2021-02-16 20:17:54 +03:00
tavplubix
68b427a99d
Merge pull request #20448 from ClickHouse/better_ddl_queue_cleanup
Better distributed DDL queue cleanup
2021-02-16 19:29:50 +03:00
vdimir
3e2c9ad011
Merge remote-tracking branch 'origin/master' into dev_joinon 2021-02-16 17:08:10 +03:00
Alexander Tokmakov
7b54b892b5 fix 2021-02-16 17:05:58 +03:00
Nikolai Kochetov
0b315fccc2 Merge branch 'master' into fix-number-of-threads-in-subqueries 2021-02-16 16:29:30 +03:00
Nikolai Kochetov
bcf30d8412 Try fix tests. 2021-02-16 15:57:00 +03:00
Nikolai Kochetov
a14b6c2650 Fix trivial count optimization 2021-02-16 12:37:19 +03:00
Nikolai Kochetov
a72ef6f026 Fix number of threads for scalar subqueries and subqueries for index. 2021-02-16 11:26:24 +03:00
vdimir
1872319d8c
Fix unused variable in isAllowedToRewriteCrossJoin 2021-02-16 11:21:54 +03:00
vdimir
e39215e38b
Fix has_some condition on CollectJoinOnKeysVisitor 2021-02-16 11:03:02 +03:00
Nikolai Kochetov
f139ad8080 Comment debug output. 2021-02-16 09:15:12 +03:00
Alexander Tokmakov
bf6f64a3fb Merge branch 'master' into database_replicated 2021-02-16 01:28:19 +03:00
vdimir
5273242f86
Minor changes move ON to WHERE for INNER JOIN 2021-02-15 23:26:29 +03:00
Nikolai Kochetov
ae73600fb0 Refactor row level security actions. 2021-02-15 22:48:06 +03:00
vdimir
9afa6b5b1b
Add option cross_to_inner_join_rewrite 2021-02-15 22:40:32 +03:00