Commit Graph

37 Commits

Author SHA1 Message Date
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
Alexey Milovidov
076e0ae014 More clear [#CLICKHOUSE-2]. 2017-11-18 00:20:28 +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
3ffb239185 add ZooKeeper::asyncTryRemove() [#CLICKHOUSE-3208] 2017-11-15 23:13:10 +03:00
Silviu Caragea
b4f7bfaa02 Remove duplicate code from zookeeper.cpp 2017-11-11 03:36:29 +03:00
KochetovNicolai
bfb4e8f3fe zookeeper chroot fix (#1430)
* added root and identity section to zookeeper configuration [#CLICKHOUSE-3031]

* added root and identity section to zookeeper configuration [#CLICKHOUSE-3031]

* moved root section in zookeeper configuration [#CLICKHOUSE-3031]

* fixed root section in zookeeper configuration [#CLICKHOUSE-3031]

* added tests [#CLICKHOUSE-3031]

* replaced tabs to spaces in config files [#CLICKHOUSE-3031]

* fix build [#CLICKHOUSE-3031]

* added chech that root starts with '/' in zookeeper config file [#CLICKHOUSE-3031]

* added comments [#CLICKHOUSE-3031]

* Check if zookeeper chroot exists before start. Remove tailing slash form chroot. [#CLICKHOUSE-3400]

* added starting '/' to zookeeper path in ReplicatedMergeTree
2017-11-02 01:59:27 +03:00
Vitaliy Lyudvichenko
71833a7f0f More correct procedure of parts deleting. [#CLICKHOUSE-3178] 2017-10-26 17:16:06 +03:00
Alexey Milovidov
d77686685a Using PODArray instead of std::vector in ZooKeeper library [#CLICKHOUSE-2]. 2017-10-23 18:08:31 +03:00
alexey-milovidov
4f86ec9d58 Update ZooKeeper.cpp 2017-10-23 17:39:29 +03:00
Marek Vavruša
e2a8526990 ZooKeeper: fixed stack smashing with tryGet()
The tryGet() operation creates a 1MB buffer on stack. This may or
may not work depending on the default stack size for threads,
whether the stack protector is enabled or not, recursion depth,
and the actual value size.

This is probably going to slow down some ZK operations, but I don't
see how else this could work reliably with the existing API.
2017-10-18 15:13:42 -07:00
proller
20329ce794 Zookeeper include fix (#1353) 2017-10-13 23:30:55 +03:00
Alexey Milovidov
86c46ad1bd Unification [#CLICKHOUSE-2]. 2017-09-15 15:16:12 +03:00
Alexey Milovidov
cd540c2674 Replaced Mersenne Twister to PCG-Random [#CLICKHOUSE-2]. 2017-09-10 02:17:38 +03:00
Alexey Milovidov
8b313ab99e Fixed warnings found by cppcheck [#CLICKHOUSE-3300]. 2017-09-08 00:04:48 +03:00
Nikolai Kochetov
ec58bfae90 added comments [#CLICKHOUSE-3031] 2017-08-30 21:30:57 +03:00
Nikolai Kochetov
1e08db938d added chech that root starts with '/' in zookeeper config file [#CLICKHOUSE-3031] 2017-08-30 21:30:57 +03:00
Nikolai Kochetov
871a7cabc6 fix build [#CLICKHOUSE-3031] 2017-08-30 21:30:57 +03:00
Nikolai Kochetov
d4bf2bf102 replaced tabs to spaces in config files [#CLICKHOUSE-3031] 2017-08-30 21:30:57 +03:00
Nikolai Kochetov
5ff1669406 fixed root section in zookeeper configuration [#CLICKHOUSE-3031] 2017-08-30 21:30:57 +03:00
Nikolai Kochetov
1539648910 moved root section in zookeeper configuration [#CLICKHOUSE-3031] 2017-08-30 21:30:57 +03:00
Nikolai Kochetov
fa2f0dfa4d added root and identity section to zookeeper configuration [#CLICKHOUSE-3031] 2017-08-30 21:30:57 +03:00
Nikolai Kochetov
16103456e2 added root and identity section to zookeeper configuration [#CLICKHOUSE-3031] 2017-08-30 21:30:57 +03:00
Alexey Milovidov
738f1685b2 Fixed build after merge [#CLICKHOUSE-2]. 2017-08-25 19:35:10 +03:00
Marek Vavruša
3659caad7d ZooKeeper: use seeded random device to shuffle node list #1149
std::random_shuffle() may or may not use std::rand() which isn't
seeded, and since configuration parsing runs predictably as one
of the first things after server startup, the list of ZK nodes
is shuffled the same way on all replicas.
2017-08-25 18:37:27 +03:00
Vitaliy Lyudvichenko
e4785aeb4d Simplified clean queue logic. Added more tests. [#CLICKHOUSE-3128] 2017-08-13 12:18:46 +03:00
alexey-milovidov
1626637a89 Update zkutil_test_multi_exception.cpp 2017-08-10 23:09:05 +03:00
alexey-milovidov
e44614d017 Update ZooKeeper.cpp 2017-08-10 23:09:05 +03:00
alexey-milovidov
5d3bff4802 Update ZooKeeper.cpp 2017-08-10 23:09:05 +03:00
Vitaliy Lyudvichenko
23af9ddd5e Fixed segfault: the future owns source ops. [#CLICKHOUSE-3207] 2017-08-10 23:09:05 +03:00
Vitaliy Lyudvichenko
351a0905d5 Implemented fast block and parts cleaning. [#CLICKHOUSE-3207] 2017-08-10 23:09:05 +03:00
Vitaliy Lyudvichenko
10c14cfccb Small code enhancements according to clang-tidy. [#CLICKHOUSE-2931] 2017-08-04 17:35:36 +03:00
Vitaliy Lyudvichenko
003d2a9478 Add comprehensive exception message for ZooKeeper::multi(). [#CLICKHOUSE-2] 2017-08-03 15:42:23 +03:00
Alexey Milovidov
cd4fef7767 Miscellaneous [#CLICKHOUSE-2]. 2017-07-26 08:55:59 +03:00
Alexey Milovidov
1b17f6191b Addition to prev. revision [#DEVTOOLS-3381]. 2017-06-19 23:09:11 +03:00
Alexey Milovidov
05accbdcbe Removed cyclic dependency [#DEVTOOLS-3381]. 2017-06-19 23:06:35 +03:00