Alexander Tokmakov
f4883f1f7e
add some TSA aanotations
2022-06-27 22:48:27 +02:00
Anton Popov
e911900054
remove last mentions of data streams
2022-05-09 19:15:24 +00:00
Alexander Tokmakov
e8b7f963b7
fix too strict assertion
2022-03-23 11:55:28 +01:00
alesapin
4caef03e6a
Add ephemeral lock in zookeeper
2022-01-17 14:52:51 +03:00
Alexander Tokmakov
5868f7590c
fix race between replicas
2021-11-22 19:46:34 +03:00
fuwhu
8515f3b3a2
Add metric MaxPushedDDLEntryID.
2021-08-11 11:40:06 +08:00
Alexander Tokmakov
4165ba2a01
add system.zookeeper_log
2021-07-09 17:05:35 +03:00
Nikolai Kochetov
afc1fe7f3d
Make ContextPtr const by default.
2021-05-31 17:49:02 +03:00
Ivan
495c6e03aa
Replace all Context references with std::weak_ptr ( #22297 )
...
* Replace all Context references with std::weak_ptr
* Fix shared context captured by value
* Fix build
* Fix Context with named sessions
* Fix copy context
* Fix gcc build
* Merge with master and fix build
* Fix gcc-9 build
2021-04-11 02:33:54 +03:00
Alexander Tokmakov
614e0d9ba0
just another fix for ddl worker
2021-03-05 04:17:51 +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
Alexander Tokmakov
2a36d6cb55
review suggestions
2021-02-20 02:41:58 +03:00
Alexander Tokmakov
7b54b892b5
fix
2021-02-16 17:05:58 +03:00
Alexander Tokmakov
9c7cf9e92e
remove some debug code
2021-02-15 13:26:34 +03:00
Alexander Tokmakov
f64f9b672b
fix
2021-02-12 19:22:01 +03:00
Alexander Tokmakov
2c6a0e74fb
better replica creation
2021-02-09 18:14:20 +03:00
Alexander Tokmakov
18f6b5bbad
add timeouts
2021-02-04 22:41:44 +03:00
Alexander Tokmakov
066fb4c82b
fix
2021-02-03 23:02:37 +03:00
Alexander Tokmakov
d010f97db0
Merge branch 'master' into database_replicated
2021-02-03 20:13:25 +03:00
tavplubix
902ae7894e
Update DDLWorker.h
2021-02-02 10:32:01 +08:00
Amos Bird
a7eb2ce6d0
initialize MaxDDLEntryId upon restarting
2021-02-02 10:32:01 +08:00
Alexander Tokmakov
52e5c0aad7
fix thread status
2021-01-28 16:48:17 +03:00
Alexander Tokmakov
7f97a11c84
Merge branch 'master' into database_replicated
2021-01-18 17:09:39 +03:00
tavplubix
6022311a37
Merge pull request #18285 from weeds085490/hotfix/abort_when_failed_to_init_ddlworker
...
exit clickhouse when failing to initialize zookeeper with logical err…
2021-01-11 17:04:33 +03:00
bharatnc
1e579ac375
Fixes to code, build and style checks
2021-01-07 11:10:49 -08:00
bharatnc
f0ea07b493
DDLLogEntry.parse() to populate query and initiator
2021-01-07 11:10:41 -08:00
bharatnc
5af6f11325
DLLWorkerQueueTable - remove unimplemented function
2021-01-07 11:10:40 -08:00
bharatnc
2c1f9e2a77
DDLWorkerQueueTable - add intial scaffolding
2021-01-07 11:10:40 -08:00
Alexander Tokmakov
f2fca15393
try fix it better way
2020-12-30 15:25:00 +03:00
alexey-milovidov
8702809c9f
Merge pull request #17464 from amosbird/ddlworkermetric
...
ddlworker max entry metric
2020-12-13 21:28:03 +03:00
Azat Khuzhin
5b3ab48861
More forward declaration for generic headers
...
The following headers are pretty generic, so use forward declaration as
much as possible:
- Context.h
- Settings.h
- ConnectionTimeouts.h
(Also this shows that some missing some includes -- this has been fixed)
And split ConnectionTimeouts.h into ConnectionTimeoutsContext.h (since
module part cannot be added for it, due to recursive build dependencies
that will be introduced)
Also remove Settings from the RemoteBlockInputStream/RemoteQueryExecutor
and just pass the context, since settings was passed only in speicifc
places, that can allow making a copy of Context (i.e. Copier).
Approx results (How much units will be recompiled after changing file X?):
- ConnectionTimeouts.h
- mainline: 100
- Context.h:
- mainline: ~800
- patched: 415
- Settings.h:
- mainline: 900-1K
- patched: 440 (most of them because of the Context.h)
2020-12-12 17:43:10 +03:00
Amos Bird
8d0e949462
ddlworker max entry metric
2020-12-12 14:20:49 +08:00
Alexander Tokmakov
9f3c77f62e
add zk ops into task
2020-12-04 23:12:32 +03:00
Alexander Tokmakov
39532f7d9e
slightly better DDLWorker initialization and restarting
2020-12-03 21:14:27 +03:00
Alexander Tokmakov
1a4bd67736
fixes
2020-12-01 20:20:42 +03:00
Alexander Tokmakov
ab197a49c8
better code, fixes
2020-11-30 23:12:43 +03:00
Alexander Tokmakov
fe7c3cb865
fix race on is_circular_replicated
2020-11-30 18:31:02 +03:00
Alexander Tokmakov
f1a52a609b
separate DatabaseReplicatedDDLWorker
2020-11-27 17:04:03 +03:00
Alexander Tokmakov
7ab4445e99
try another approach
2020-11-20 19:06:27 +03:00
Alexander Tokmakov
2283906a11
try support replica recovery
2020-11-19 13:34:45 +03:00
Alexander Tokmakov
b0262b3d06
better replica creation
2020-11-13 21:35:45 +03:00
Alexander Tokmakov
2a6c0b9180
try reuse DDLWorker in DatabaseReplicated
2020-11-12 20:35:29 +03:00
Alexander Tokmakov
cbcdee0cf9
split DDLWorker.cpp
2020-11-03 16:47:26 +03:00
tavplubix
cc8932e7a1
Update DDLWorker.h
2020-11-03 15:51:26 +03:00
alesapin
dc1a5abea9
Remove cluster type check during alter
2020-10-16 14:59:58 +03:00
Azat Khuzhin
dd867b787f
Allow parallel execution of distributed DDL
...
Add distributed_ddl.pool_size to control maximum parallel to handle
distributed DDL.
Also:
- convert Exception constructors to fmt-like
- use sleepFor* over std::this_thread::sleep_for()
2020-09-12 02:32:08 +03:00
Vitaly Baranov
c39eb8f71b
Fix partial revokes (complex cases).
2020-06-30 18:47:02 +03:00
franklee
264e44ecef
support distributed DDLs on cross replication clusters.
...
(cherry picked from commit fd09994d91
)
2020-06-16 11:53:27 +03:00
Alexey Milovidov
25f941020b
Remove namespace pollution
2020-05-31 00:57:37 +03:00