Commit Graph

113 Commits

Author SHA1 Message Date
Alexey Zatelepin
f6c72f8e56 Merge branch 'master' into replicated-mergetree-mutations
Conflicts:
	dbms/src/Common/ActionBlocker.h
	dbms/src/Storages/MergeTree/ActiveDataPartSet.cpp
	dbms/src/Storages/MergeTree/ActiveDataPartSet.h
	dbms/src/Storages/MergeTree/MergeTreeData.h
	dbms/src/Storages/MergeTree/MergeTreeDataPart.cpp
	dbms/src/Storages/MergeTree/ReplicatedMergeTreeAlterThread.cpp
	dbms/src/Storages/MergeTree/ReplicatedMergeTreeLogEntry.cpp
	dbms/src/Storages/MergeTree/ReplicatedMergeTreeLogEntry.h
	dbms/src/Storages/MergeTree/ReplicatedMergeTreeQueue.cpp
	dbms/src/Storages/MergeTree/ReplicatedMergeTreeQueue.h
	dbms/src/Storages/MergeTree/ReplicatedMergeTreeRestartingThread.cpp
	dbms/src/Storages/StorageMergeTree.cpp
	dbms/src/Storages/StorageReplicatedMergeTree.cpp
	dbms/src/Storages/StorageReplicatedMergeTree.h
2018-05-28 18:37:30 +03:00
Alexey Zatelepin
59fe12ed15 part log and metrics [#CLICKHOUSE-3747] 2018-05-25 23:13:00 +03:00
Alexey Zatelepin
fdb33d8f3c execute mutation log entries [#CLICKHOUSE-3747] 2018-05-25 23:13:00 +03:00
Alexey Zatelepin
1147e052e8 select and write part mutations to queue [#CLICKHOUSE-3747] 2018-05-25 23:13:00 +03:00
Alexey Zatelepin
2721daf782 don't select merges of parts with different mutation versions [#CLICKHOUSE-3747] 2018-05-25 23:06:28 +03:00
Alexey Zatelepin
4c661df146 notify relevant events directly from queue [#CLICKHOUSE-3747] 2018-05-25 23:06:23 +03:00
Alexey Zatelepin
42850f09b7 load mutations from ZK [#CLICKHOUSE-3747] 2018-05-25 23:06:15 +03:00
Alexey Zatelepin
49439aa2d2 write mutations to ZK [#CLICKHOUSE-3747] 2018-05-25 23:06:08 +03:00
Alexey Zatelepin
17437a95bf merge selection based on checking current inserts [#CLICKHOUSE-3732] 2018-05-25 23:03:56 +03:00
Vitaliy Lyudvichenko
87ad1df259 More atomic insert to MATERIALIZED VIEW. [#CLICKHOUSE-3743] 2018-05-23 19:18:04 +03:00
Vitaliy Lyudvichenko
c888903488
Add query ALTER TABLE t1 [REPLACE|ATTACH] PARTITION FROM t2
* Add ATTACH PARTITION FROM table for MergeTree. [#CLICKHOUSE-3546]

* Implemented replicated case on non-leader replica. [#CLICKHOUSE-3546]

* Disable merges in the dropping range. [#CLICKHOUSE-3546]

* DROP PARTITION is atomic and simpler now. [#CLICKHOUSE-3546]

* Implemented more SYSTEM queries. [#CLICKHOUSE-2931] [#CLICKHOUSE-3546]

SYSTEM queries:
RESTART REPLICAS
SYNC REPLICA db.name
STOP MERGES [db.name]
START MERGES [db.name]
STOP FETCHES [db.name]
START FETCHES [db.name]
STOP REPLICATED SENDS [db.name]
START REPLICATED SENDS [db.name]
STOP REPLICATION QUEUES [db.name]
START REPLICATION QUEUES [db.name]

* Fixed a bunch of bugs in REPLACE PARTITION. [#CLICKHOUSE-3546]

* Add tests for REPLACE PARTITION and SYSTEM. [#CLICKHOUSE-3546]

* Add system.part_log logging. [#CLICKHOUSE-3546]

* Fixed long wait in SYNC REPLICA. [#CLICKHOUSE-3546]

* Add requested changes. [#CLICKHOUSE-3546]

Fixed clickhouse-client bad return code.

* Add requested chenges. [#CLICKHOUSE-3546]

* Add requested chenges. [#CLICKHOUSE-3546]
2018-05-21 16:49:54 +03:00
Silviu Caragea
32dd4554da Merge remote-tracking branch 'github/master' into background-schedule-pool-fix
# Conflicts:
#	dbms/src/Storages/StorageReplicatedMergeTree.cpp
2018-04-19 09:29:49 +03:00
Vitaliy Lyudvichenko
bf832b3ea6 Fixed OPTIMIZE after RENAME of replicated table. [#CLICKHOUSE-2] 2018-04-17 20:59:42 +03:00
Silviu Caragea
c547c5a7b0 Merge remote-tracking branch 'origin/background-schedule-pool-fix'
# Conflicts:
#	dbms/src/Common/ZooKeeper/LeaderElection.h
#	dbms/src/Common/ZooKeeper/ZooKeeper.cpp
#	dbms/src/Storages/MergeTree/ReplicatedMergeTreeAlterThread.cpp
#	dbms/src/Storages/MergeTree/ReplicatedMergeTreeCleanupThread.cpp
#	dbms/src/Storages/MergeTree/ReplicatedMergeTreeCleanupThread.h
#	dbms/src/Storages/MergeTree/ReplicatedMergeTreePartCheckThread.cpp
#	dbms/src/Storages/MergeTree/ReplicatedMergeTreeRestartingThread.cpp
#	dbms/src/Storages/StorageReplicatedMergeTree.cpp
2018-04-10 16:20:14 +03:00
alexey-milovidov
84726e17e8
Merge pull request #2185 from yandex/fix-leader-election-race
Fix races in leader election.
2018-04-07 00:18:26 +03:00
Alexey Milovidov
0d8d99e7a4 Fixed typo [#CLICKHOUSE-2] 2018-04-06 22:48:54 +03:00
Alexey Zatelepin
3a8ca70d1f fix races in leader election [#CLICKHOUSE-3533] 2018-04-06 19:10:23 +03:00
Silviu Caragea
f811da7ed4 Move merge selection state into ReplicatedMergeTreeMergeSelectingThread 2018-04-02 15:45:55 +03:00
Silviu Caragea
1418e339e4 Rename merge_selecting_handle with merge_selecting_task_handle for consistency 2018-03-26 23:18:19 +03:00
Silviu Caragea
0aa9b9efbe Use consistent names for the task variables (change from next_update_task_handle to merge_selecting_handle) (reverted from commit 50992843c6) 2018-03-26 23:12:17 +03:00
Silviu Caragea
50992843c6 Use consistent names for the task variables (change from next_update_task_handle to merge_selecting_handle) 2018-03-26 22:59:58 +03:00
Silviu Caragea
31874ed172 Use consistent names for the task variables 2018-03-26 22:37:47 +03:00
Alexey Milovidov
10be6ca8f8 Rewriting ZooKeeper library [#CLICKHOUSE-2] 2018-03-24 03:45:04 +03:00
Vitaliy Lyudvichenko
fe8dfd3038 Add minimalistic checksums. [#CLICKHOUSE-3660] 2018-03-23 00:26:46 +03:00
Silviu Caragea
b24a4b2111 Add back the buggy BackgroundSchedulePool 2018-03-22 17:07:12 +02:00
Alexey Zatelepin
fdffbe53ac encapsulate ColumnsDeclaration [#CLICKHOUSE-3241] 2018-03-13 17:41:25 +03:00
Alexey Zatelepin
71642b0880 use ColumnsDescription everywhere [#CLICKHOUSE-3241] 2018-03-12 22:07:48 +03:00
Alexey Milovidov
8c37547bfe Fixed harmless data race [#CLICKHOUSE-2] 2018-03-03 18:35:24 +03:00
Nikolai Kochetov
a75e095a80 added data_path and metadata_path to system.tables 2018-02-22 13:03:35 +03:00
Nikolai Kochetov
64b3a8baa7 added secondary sort expression [#CLICKHOUSE-3479] 2018-02-13 00:13:50 +03:00
Vitaliy Lyudvichenko
61233b886a Better system.part_log. [#CLICKHOUSE-3342] 2018-01-25 21:40:02 +03:00
alexey-milovidov
b8cb9267c7
Merge pull request #1804 from arkhipov/master
Replace subqueries and table expressions on the right side of the IN …
2018-01-23 22:31:49 +03:00
Vitaliy Lyudvichenko
b4ab7d4b8e Make early deduplication with block number creation. [#CLICKHOUSE-3545] 2018-01-23 18:50:29 +03:00
Vlad Arkhipov
be96cf5133 Replace subqueries and table expressions on the right side of the IN operator with their results in order to make MergeTree storage engines evaluate the corresponding conditions by using the index. 2018-01-21 11:22:52 +03:00
Vitaliy Lyudvichenko
554ed52920 Avoid superflous pullLogsToQueue() calls. [#CLICKHOUSE-3432] 2018-01-15 13:30:31 +03:00
Alexey Milovidov
fcdd5de47d Revert "Removed questionable code (2) [#CLICKHOUSE-2]."
This reverts commit fcabe8b888.
2017-12-28 07:39:19 +03:00
Alexey Milovidov
c89041ce63 Removed questionable code (2) [#CLICKHOUSE-2]. 2017-12-26 01:51:04 +03:00
Alexey Milovidov
ec71908b00 Revert "Removed questionable code (2) [#CLICKHOUSE-2]."
This reverts commit fcabe8b888.
2017-12-26 00:57:29 +03:00
Alexey Milovidov
fcabe8b888 Removed questionable code (2) [#CLICKHOUSE-2]. 2017-12-26 00:32:33 +03:00
Alexey Milovidov
a85b2e5a95 Removed questionable code [#CLICKHOUSE-2]. 2017-12-26 00:10:46 +03:00
Alexey Zatelepin
c3348e27a4 shorter [#CLICKHOUSE-2] 2017-12-25 20:31:14 +03:00
Alexey Zatelepin
b07dbf52c6 remove unused function [#CLICKHOUSE-2] 2017-12-25 14:40:59 +03:00
Alexey Zatelepin
6d5ce3fa9a revert BackgroundSchedulePool usage in Replicated tables 2017-12-22 21:25:54 +03:00
Alexey Milovidov
d0ca8b2533 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-15 21:23:05 +03:00
alexey-milovidov
fc0a51f1b9
Merge branch 'master' into fix4 2017-11-19 23:57:44 +03:00
Alexey Milovidov
f497b0c63c BackgroundSchedulePool: miscellaneous; added TODO [#CLICKHOUSE-2]. 2017-11-19 03:08:37 +03:00
Silviu Caragea
dfecd0b2f2 Merge with master 2017-11-18 10:16:06 +02:00
Alexey Milovidov
729b114c15 Removed unsupported functionality [#CLICKHOUSE-2]. 2017-11-18 05:34:00 +03:00
proller
79b3ef2f57 Merge remote-tracking branch 'upstream/master' into fix4 2017-11-17 15:31:13 +03:00
Silviu Caragea
64619c614f Basic idea is :
- We add BackgroundSchedulePool which can execute a function at a specific point in time. Basically all tasks are added in a queue and precessed by worker threads.
- The most important difference between this and BackgroundProcessingPool is that we have the guarantee that the same function is not executed from many workers in the same time
- Each of the following classes instead starting a thread will register a task in BackgroundSchedulePool and when they need to run will call schedule or scheduleAfter(duration) functions

This commit is moving all threads created by ReplicatedMergeTree to BackgroundSchedulePool tasks

NOTE: I did a minimum number of changes to be much simple to review the code
2017-11-17 10:58:35 +02:00