Commit Graph

65 Commits

Author SHA1 Message Date
Alexander Tokmakov
cf5c998b30 refactor storage name 2019-12-26 19:23:38 +03:00
alesapin
a4c3937153 Small refactoring 2019-09-04 16:24:55 +03:00
CurtizJ
82f304f81e add query 'SYSTEM STOP TTL MERGES' 2019-08-01 18:36:12 +03:00
Ivan Kush
2a356791ab Merge branch 'master' into feat/parallel-alter-modify 2019-05-07 23:53:14 +03:00
Alexey Milovidov
a6ca9f266f Removed huge chunk of bad code 2019-05-03 05:00:57 +03:00
Alexey Milovidov
270a31abb5 Rename method for consistency 2019-05-02 19:07:23 +03:00
Ivan Kushnarenko
e38f6e08d8 debug tsan refactor trash 2019-05-01 13:26:49 +03:00
Nikolai Kochetov
2311bbd95c Restore recheck parts in ReplicatedMergeTreeAlterThread in case of error. 2019-03-22 20:24:35 +03:00
Alexey Zatelepin
3344955154 separate Read and Write lock holders, better method names 2019-03-07 21:10:21 +03:00
Alexey Zatelepin
ab025805a3 alter intention lock 2019-03-07 20:21:18 +03:00
Alexey Zatelepin
c5dde2c9fd get rid of default query_id value in RWLock::getLock [#CLICKHOUSE-3789] 2019-02-28 12:37:05 +03:00
Nikita Vasilev
a1b0dede07 Data Skipping Indices (#4143)
* made index parser

* added index parsing

* some fixes

* added index interface and factory

* fixed compilation

* ptrs

* added indexParts

* indextypes

* index condition

* IndexCondition

* added indexes in selectexecutor

* fix

* changed comment

* fix

* added granularity

* comments

* fix

* fix

* added writing indexes

* removed indexpart class

* fix

* added setSkipIndexes

* add rw for MergeTreeIndexes

* fixes

* upd error

* fix

* fix

* reading

* test index

* fixed nullptr error

* fixed

* fix

* unique names

* asts -> exprlist

* minmax index

* fix

* fixed select

* fixed merging

* fixed mutation

* working minmax

* removed test index

* fixed style

* added indexes to checkDataPart

* added tests for minmax index

* fixed constructor

* fix style

* fixed includes

* fixed setSkipIndexes

* added indexes meta to zookeeper

* added parsing

* removed throw

* alter cmds parse

* fix

* added alter

* fix

* alters fix

* fix alters

* fix "after"

* fixed alter

* alter fix + test

* fixes

* upd setSkipIndexes

* fixed alter bug with drop all indices

* fix metadata editing

* new test and repl fix

* rm test files

* fixed repl alter

* fix

* fix

* indices

* MTReadStream

* upd test for bug

* fix

* added useful parsers and ast classes

* fix

* fix comments

* replaced columns

* fix

* fixed parsing

* fixed printing

* fix err

* basic IndicesDescription

* go to IndicesDescr

* moved indices

* go to indicesDescr

* fix test minmax_index*

* fixed MT alter

* fixed bug with replMT indices storing in zk

* rename

* refactoring

* docs ru

* docs ru

* docs en

* refactor

* rename tests

* fix docs

* refactoring

* fix

* fix

* fix

* fixed style

* unique idx

* unique

* fix

* better minmax calculation

* upd

* added getBlock

* unique_condition

* added termForAST

* unique

* fixed not

* uniqueCondition::mayBeTrueOnGranule

* fix

* fixed bug with double column

* is always true

* fix

* key set

* spaces

* test

* tests

* fix

* unique

* fix

* fix

* fixed bug with duplicate column

* removed unused data

* fix

* fixes

* __bitSwapLastTwo

* fix
2019-02-05 17:50:25 +03:00
Alexey Zatelepin
0f8e5f8522 Merge branch 'master' into zk-columns-compact-storage
Conflicts:
	dbms/src/Storages/StorageReplicatedMergeTree.cpp
2019-01-16 17:45:16 +03:00
Alexey Milovidov
1d4701b0bc Added some warnings from clang's -Weverything 2019-01-04 15:10:00 +03:00
Alexey Zatelepin
9bd09b44ed introduce ReplicatedMergeTreePartHeader [#CLICKHOUSE-4024]
Conflicts:
	dbms/src/Common/ErrorCodes.cpp
2018-12-29 17:11:16 +03:00
Alexey Zatelepin
b7afe46dfd remove ALTER MODIFY PRIMARY KEY command [#CLICKHOUSE-4214] 2018-12-20 21:57:20 +03:00
alexey-milovidov
48b30edcf5
Merge branch 'master' into alter-order-by 2018-12-02 21:06:38 +03:00
Ivan Lezhankin
8b5a05947c Remove redundant information from RWLock.
And fix broken exception in some race conditions
2018-11-28 18:50:52 +03:00
Alexey Zatelepin
ceea7bde2e better names in ZooKeeperNodeCache [#CLICKHOUSE-3859] 2018-11-28 14:40:59 +03:00
Alexey Zatelepin
8b85822192 store original key ASTs, and not extracted ASTExpressionLists [#CLICKHOUSE-3859] 2018-11-13 16:14:44 +03:00
Alexey Zatelepin
31a6a6b4fd calculate ReplicatedMergeTreeTableMetadata diff [#CLICKHOUSE-3859] 2018-11-13 16:13:55 +03:00
Alexey Zatelepin
74c48ed226 apply metadata changes on startup [#CLICKHOUSE-3859] 2018-11-13 16:13:50 +03:00
Alexey Zatelepin
106800b857 apply changes in ReplicatedMergeTreeAlterThread [#CLICKHOUSE-3859] 2018-11-13 16:13:40 +03:00
Alexey Zatelepin
f4c26e78d2 renames [#CLICKHOUSE-3859] 2018-11-13 16:13:01 +03:00
Alexey Zatelepin
0fa86162d9 separate sorting key and primary key, allow setting primary key separately [#CLICKHOUSE-3859] 2018-11-13 16:12:55 +03:00
Alexey Zatelepin
9a92c0a55c sort key is distinct from primary key [#CLICKHOUSE-3859] 2018-11-13 16:12:49 +03:00
Alexey Milovidov
3475ef5304 Attempt to generalize ZooKeeper interface [#CLICKHOUSE-2] 2018-08-25 04:58:14 +03:00
Alexey Zatelepin
cc7950a733 don't destroy Cleanup- and AlterThread objects, just deactivate the tasks [#CLICKHOUSE-3862]
Otherwise segfaults are possible when the objects are recreated in the middle of the queue task execution.
2018-07-30 21:47:24 +03:00
Alexey Zatelepin
d89221c458 easier init and deactivation of BackgroundSchedulePool tasks 2018-05-31 16:18:52 +03:00
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
1147e052e8 select and write part mutations to queue [#CLICKHOUSE-3747] 2018-05-25 23:13:00 +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
1dd5a704fc Merge remote-tracking branch 'origin/master' into background-schedule-pool-fix
# Conflicts:
#	dbms/src/Common/ZooKeeper/LeaderElection.h
#	dbms/src/Storages/MergeTree/ReplicatedMergeTreeAlterThread.cpp
#	dbms/src/Storages/MergeTree/ReplicatedMergeTreeCleanupThread.cpp
#	dbms/src/Storages/MergeTree/ReplicatedMergeTreePartCheckThread.cpp
#	dbms/src/Storages/StorageReplicatedMergeTree.cpp
2018-04-24 20:11:59 +03:00
Alexey Milovidov
12e33cfd85 Exit from threads when ZooKeeper session is expired (non significant change) [#CLICKHOUSE-2] 2018-04-19 21:16:18 +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
4e5e0fa664 ReplicatedMergeTree: Better diagnostics [#CLICKHOUSE-2] 2018-04-07 00:46:57 +03:00
Alexey Milovidov
2310bd7947 Miscellaneous [#CLICKHOUSE-2] 2018-04-03 20:35:48 +03:00
Silviu Caragea
438121e45b Renamed Zookeeper get method with getWatch for consistency 2018-03-26 23:08:14 +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
a2dc16a582 Remove the link between TaskHandles and ZooKeeper 2018-03-22 17:21:14 +02:00
Silviu Caragea
b24a4b2111 Add back the buggy BackgroundSchedulePool 2018-03-22 17:07:12 +02:00
Vitaliy Lyudvichenko
8028ba0de9 Refactoring of zkutil::ZooKeeper::multi* functions. [#CLICKHOUSE-2] 2018-03-14 16:29:03 +03:00
Alexey Zatelepin
5906c9a988 rename for clarity 2018-03-13 18:00:28 +03:00
Alexey Zatelepin
fdffbe53ac encapsulate ColumnsDeclaration [#CLICKHOUSE-3241] 2018-03-13 17:41:25 +03:00
Alexey Zatelepin
78d92f6794 add some useful methods, rename for clarity [#CLICKHOUSE-3241] 2018-03-12 22:10:13 +03:00
Alexey Zatelepin
71642b0880 use ColumnsDescription everywhere [#CLICKHOUSE-3241] 2018-03-12 22:07:48 +03:00
Alexey Milovidov
bf924d1c9d Better name [#CLICKHOUSE-2] 2018-03-02 21:51:59 +03:00
Alexey Zatelepin
6d5ce3fa9a revert BackgroundSchedulePool usage in Replicated tables 2017-12-22 21:25:54 +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