Commit Graph

252 Commits

Author SHA1 Message Date
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
Alexey Zatelepin
99b2d135df clear deduplication blocks when doing DROP PARTITION [#CLICKHOUSE-3208] 2017-11-15 23:13:10 +03:00
proller
468e2ab044 Merge remote-tracking branch 'upstream/master' into fix4 2017-11-14 14:50:19 +03:00
Alexey Milovidov
4e04c4da5f Attempt to change ext::shared_ptr_helper (incomplete) [#CLICKHOUSE-2]. 2017-11-04 06:56:31 +03:00
Alexey Milovidov
974a1e4fa5 Attempt to change ext::shared_ptr_helper (incomplete) [#CLICKHOUSE-2]. 2017-11-04 06:56:31 +03:00
proller
47eae26d75 Fix build 2017-10-31 22:19:36 +03:00
proller
6debbf819a Merge remote-tracking branch 'origin/fix4' into fix4 2017-10-31 18:36:04 +03:00
proller
9e73e08269 wip 2017-10-31 17:40:44 +03:00
proller
5d137e22eb More atomics 2017-10-30 17:38:16 +03:00
proller
ba49157f84 Merge remote-tracking branch 'upstream/master' into fix4 2017-10-28 01:06:09 +03:00
proller
c878af8740 Merge remote-tracking branch 'upstream/master' into fix4 2017-10-27 23:13:35 +03:00
proller
07009d5072 Bughunt tsan 2017-10-27 18:34:26 +03:00
Vitaliy Lyudvichenko
397b8bcf92 Smarter parts deletion. [#CLICKHOUSE-3178] 2017-10-26 17:16:06 +03:00
Vitaliy Lyudvichenko
b5c7eaa80e Force data parts cleanup before repeat fetch. [#CLICKHOUSE-3178] 2017-10-26 17:16:06 +03:00
Vitaliy Lyudvichenko
71833a7f0f More correct procedure of parts deleting. [#CLICKHOUSE-3178] 2017-10-26 17:16:06 +03:00
Alexey Zatelepin
a7c85e0c89 save index_granularity to ATTACH query if it wasn't set explicitly [#CLICKHOUSE-3000] 2017-10-20 21:28:44 +03:00
Vitaliy Lyudvichenko
62ea1133dd Disable part sendings and fetches before ALTER. [#CLICKHOUSE-3343] 2017-10-12 23:26:54 +03:00
Alexey Zatelepin
728a23f60e allow creation of custom-partitioned tables with experimental syntax [#CLICKHOUSE-3000] 2017-09-26 20:40:02 +03:00
Alexey Zatelepin
a10ba0cd91 serialize partition key in Replicated tables metadata [#CLICKHOUSE-3000] 2017-09-26 20:40:02 +03:00
Alexey Zatelepin
68cb592277 allow arbitrary partition literals in ALTER PARTITION queries [#CLICKHOUSE-3000] 2017-09-26 20:40:02 +03:00
Alexey Zatelepin
2f80c150db save MergeTree data format version and parse part names depending on it [#CLICKHOUSE-3000] 2017-09-26 20:40:02 +03:00
Alexey Milovidov
cd540c2674 Replaced Mersenne Twister to PCG-Random [#CLICKHOUSE-2]. 2017-09-10 02:17:38 +03:00
Alexey Milovidov
94b975e7f9 Removed function deprecated in C++ [#CLICKHOUSE-3174]. 2017-09-09 02:31:18 +03:00
Vitaliy Lyudvichenko
d55d5eca46 Remove extra Context reference and add required ones. Part 2. [#CLICKHOUSE-3117] 2017-09-06 04:18:07 +03:00
Alexey Zatelepin
f25f0cd759 reduce number of places where partitioning by month is assumed [#CLICKHOUSE-3000] 2017-08-15 22:30:52 +03:00
Vitaliy Lyudvichenko
351a0905d5 Implemented fast block and parts cleaning. [#CLICKHOUSE-3207] 2017-08-10 23:09:05 +03:00
Vitaliy Lyudvichenko
bc9ee54985 Don't throw exception in case of clearing empty part. [#CLICKHOUSE-2896] 2017-07-24 18:04:17 +03:00
Alexey Milovidov
9406b6a5aa Get rid of ASTSet, because it is not really an AST and it lead to bugs [#CLICKHOUSE-3148]. 2017-07-15 06:48:36 +03:00
Alexey Milovidov
5b5795633e Using lexer (incomplete) [#CLICKHOUSE-2]. 2017-07-13 08:59:01 +03:00
Alexey Zatelepin
4a98d83a3b introduce replicated_can_become_leader merge_tree setting [#CLICKHOUSE-3109] 2017-07-11 20:44:35 +03:00
Alexey Milovidov
a48a21f593 Merge branch 'master' into CLICKHOUSE-2896 2017-06-26 11:54:58 +03:00
Alexey Milovidov
275a1d4651 Improvement [#CLICKHOUSE-3091]. 2017-06-25 05:48:38 +03:00
Alexey Milovidov
8228acd3ea Removed obsolete code that was relevant only in extremely rare case of transforming CollapsingMergeTree to ReplicatedCollapsingMergeTree through ATTACHing data parts and while some considerations about data order in table is important [#CLICKHOUSE-3091]. 2017-06-25 03:51:51 +03:00
Alexey Milovidov
28e9e06992 Preparation: locking block number only after write to filesystem; removed obsolete code [#CLICKHOUSE-3091]. 2017-06-25 03:01:10 +03:00
Alexey Milovidov
7d732343eb Fixed error in prev. revision [#CLICKHOUSE-3091]. 2017-06-22 22:52:06 +03:00
Alexey Milovidov
941c281221 Updated comment [#CLICKHOUSE-3091]. 2017-06-22 19:09:03 +03:00
Vitaliy Lyudvichenko
d7db235269 Better names and log messages. [#CLICKHOUSE-2896] 2017-06-22 18:32:09 +03:00
Vitaliy Lyudvichenko
99f502d5e0 Support OPTIMIZE query on non-leader replica. [#CLICKHOUSE-2] 2017-06-22 18:01:08 +03:00
Alexey Milovidov
db546dc827 Caching parts that cannot be merged for some time [#CLICKHOUSE-3091]. 2017-06-22 03:28:44 +03:00
Vitaliy Lyudvichenko
53adb891b3 Add replicated DROP COLUMN FROM partition for optimistic case. [#CLICKHOUSE-2896] 2017-06-22 00:56:38 +03:00
Alexey Milovidov
05accbdcbe Removed cyclic dependency [#DEVTOOLS-3381]. 2017-06-19 23:06:35 +03:00
alexey-milovidov
a669136ac2 Merge branch 'master' into CLICKHOUSE-5 2017-06-13 07:30:36 +03:00
Alexey Milovidov
d5ca92093a Fixed comment [#CLICKHOUSE-2]. 2017-06-10 08:30:07 +03:00
Alexey Milovidov
0d7d379b44 Removed duplicate code [#CLICKHOUSE-2]. 2017-06-06 21:36:13 +03:00
Alexey Milovidov
9c5ddce06d Get rid of .hpp files [#CLICKHOUSE-2]. 2017-06-06 20:18:32 +03:00
Alexey Milovidov
9ebf0b633f Added IStorage::startup method to avoid starting replication and merging threads too early during server startup [#CLICKHOUSE-2]. 2017-06-06 20:06:14 +03:00
alexey-milovidov
12e6024abd Update StorageReplicatedMergeTree.h 2017-06-02 20:02:59 +04:00
Vitaliy Lyudvichenko
6bddd4c1c5 Clean incomplete part nodes in ZooKeeper. [#CLICKHOUSE-3040] 2017-06-02 20:02:59 +04:00
Alexey Milovidov
80080f1ad6 Small refinements [#CLICKHOUSE-2]. 2017-06-02 18:54:39 +03:00
Vitaliy Lyudvichenko
9fd8d6b79f Add ALTER queries. [#CLICKHOUSE-5] 2017-06-01 13:49:20 +03:00
alexey-milovidov
72822714c3 Merge branch 'master' into CLICKHOUSE-2989 2017-05-25 21:04:37 +04:00
Vitaliy Lyudvichenko
1e29795cf9 Fix race condition between cleanup and fetch thread. [#CLICKHOUSE-2989]
It was happening during ALTERs.
TODO: stop fetches during ALTER.
2017-05-25 13:08:52 +03:00
Alexey Milovidov
a77369d082 Preparation: Storages do not modify query [#CLICKHOUSE-31]. 2017-05-25 04:12:41 +03:00
Alexey Milovidov
557c3dc7f4 Preparation: removed support for unreplicated data in Replicated tables [#CLICKHOUSE-31]. 2017-05-25 00:38:56 +03:00
Alexey Milovidov
48f65e9097 Preparation: untangling [#CLICKHOUSE-31]. 2017-05-25 00:06:29 +03:00
Alexey Milovidov
0f252046ca Preparations [#CLICKHOUSE-2] 2017-05-22 01:25:25 +03:00
Alexey Zatelepin
9c6829e982 Fix replica delay counting in case of ZooKeeper communication problems [#CLICKHOUSE-2141] 2017-05-20 17:32:00 +04:00
Vitaliy Lyudvichenko
1d00f45dd3 Detect race condition between fetches and merges of the same part. [#CLICKHOUSE-2989] 2017-05-17 21:44:16 +04:00
Alexey Zatelepin
ba254a082e Merge branch 'master' into lagging-replicas-failover
Conflicts:
	dbms/src/Core/ErrorCodes.cpp
2017-04-19 21:31:29 +03:00
Yuri Dyachenko
8fb2b7ee3d fix zookeeper format version 4 2017-04-17 21:15:14 +03:00
Yuri Dyachenko
10082f3ef4 support DEDUPLICATE option in OPTIMIZE query 2017-04-17 21:15:14 +03:00
Alexey Zatelepin
2bd089d589 start counting absolute replica delay when there are problems with queue update [#CLICKHOUSE-2141] 2017-04-17 18:06:12 +03:00
f1yegor
0b243a8b01 translate comments 2017-04-16 23:17:32 +03:00
Alexey Milovidov
310736cd7e Moved headers and sources to same place [#CLICKHOUSE-3]. 2017-04-01 12:22:42 +03:00