Commit Graph

97 Commits

Author SHA1 Message Date
alesapin
743600a359 Merge branch 'update_buffer_size_in_nuraft' into zookeeper_snapshots 2021-06-21 13:46:22 +03:00
Mike Kot
4c391f8e99
SYSTEM RESTORE REPLICA replica [ON CLUSTER cluster] (#13652)
* initial commit: add setting and stub

* typo

* added test stub

* fix

* wip merging new integration test and code proto

* adding steps interpreters

* adding firstly proposed solution (moving parts etc)

* added checking zookeeper path existence

* fixing the include

* fixing and sorting includes

* fixing outdated struct

* fix the name

* added ast ptr as level of indirection

* fix ref

* updating the changes

* working on test stub

* fix iterator -> reference

* revert rocksdb submodule update

* fixed show privileges test

* updated the test stub

* replaced rand() with thread_local_rng(), updated the tests

updated the test

fixed test config path

test fix

removed error messages

fixed the test

updated the test

fixed string literal

fixed literal

typo: =

* fixed the empty replica error message

* updated the test and the code with logs

* updated the possible test cases, updated

* added the code/test milestone comments

* updated the test (added more testcases)

* replaced native assert with CH one

* individual replicas recursive delete fix

* updated the AS db.name AST

* two small logging fixes

* manually generated AST fixes

* Updated the test, added the possible algo change

* Some thoughts about optimizing the solution:

ALTER MOVE PARTITION .. TO TABLE -> move to detached/ + ALTER ... ATTACH

* fix

* Removed the replica sync in test as it's invalid

* Some test tweaks

* tmp

* Rewrote the algo by using the executeQuery instead of

hand-crafting the ASTPtr.

Two questions still active.

* tr: logging active parts

* Extracted the parts moving algo into a separate helper function

* Fixed the test data and the queries slightly

* Replaced query to system.parts to direct invocation,

started building the test that breaks on various parts.

* Added the case for tables when at least one replica is alive

* Updated the test to test replicas restoration by detaching/attaching

* Altered the test to check restoration without replica restart

* Added the tables swap in the start if the server failed last time

* Hotfix when only /replicas/replica... path was deleted

* Restore ZK paths while creating a replicated MergeTree table

* Updated the docs, fixed the algo for individual replicas restoration case

* Initial parts table storage fix, tests sync fix

* Reverted individual replica restoration to general algo

* Slightly optimised getDataParts

* Trying another solution with parts detaching

* Rewrote algo without any steps, added ON CLUSTER support

* Attaching parts from other replica on restoration

* Getting part checksums from ZK

* Removed ON CLUSTER, finished working solution

* Multiple small changes after review

* Fixing parallel test

* Supporting rewritten form on cluster

* Test fix

* Moar logging

* Using source replica as checksum provider

* improve test, remove some code from parser

* Trying solution with move to detached + forget

* Moving all parts (not only Committed) to detached

* Edited docs for RESTORE REPLICA

* Re-merging

* minor fixes

Co-authored-by: Alexander Tokmakov <avtokmakov@yandex-team.ru>
2021-06-20 11:24:43 +03:00
kssenii
7cc6588f96 Tool to put files on server 2021-06-18 14:11:32 +00:00
alesapin
dbe4ba8c2c Merge branch 'update_buffer_size_in_nuraft' into zookeeper_snapshots 2021-06-17 19:51:11 +03:00
alesapin
1a6abb4db4 Better 2021-06-17 19:32:50 +03:00
Benjamin Naecker
c3506bf16d Adds a better way to include binary resources
- Uses a small assembly file to include binary resources, rather than
  objcopy
- Updates `base/common/getResource.cpp` for this new method of inclusion
- Removes linux-only guards in CMake files, as this solution is
  cross-platform.

The resulting binary resources are available in the ClickHouse server
binary on Linux, macOS, and illumos platforms. FreeBSD has not been
tested, but will likely work as well.
2021-06-09 14:03:30 -07:00
Azat Khuzhin
c343f85b64 Do not built clickhouse-keeper w/o NuRaft
Otherwise it will fail because of unused argument and unreachable code.
2021-05-23 08:37:56 +03:00
alesapin
ee46850112 Better cmake for keeper 2021-05-13 15:26:10 +03:00
alesapin
ffb4e1af8f Some copy-paste 2021-05-12 13:39:07 +03:00
Alexey Milovidov
4ff812db7f Maybe better support for paths with whitespaces 2021-04-24 22:47:52 +03:00
Denis Glazachev
b349e84fc7 Use nanodbc always together with odbc
Disable clickhouse-odbc-bridge building when odbc is disabled
2021-04-20 15:07:05 +04:00
kssenii
d9326cc229 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into library-bridge 2021-03-24 18:28:55 +00:00
Azat Khuzhin
84280f1148 Add bash completion support for clickhouse utils 2021-03-19 21:33:01 +03:00
kssenii
34dea63248 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into library-bridge 2021-03-17 13:32:43 +00:00
kssenii
f6610ceaad Try fix build 2021-03-10 08:09:05 +00:00
kssenii
dd4a7b6e3d First version 2021-03-05 10:19:01 +00:00
Alexey Milovidov
66f495b690 Fix build 2021-03-04 06:49:46 +03:00
Alexey Milovidov
6f481d7512 Add integrity checks for ClickHouse binary 2021-01-07 05:56:57 +03:00
Alexey Milovidov
735a8ed74c Fix build 2021-01-04 17:08:58 +03:00
Alexey Milovidov
b99634dc5d Merge branch 'master' into harmful 2020-12-21 03:03:10 +03:00
Alexey Milovidov
7805e84b4b Return clickhouse-git-import 2020-12-19 00:19:11 +03:00
Alexey Milovidov
9c3fbc9ac6 Return clickhouse-git-import 2020-12-19 00:04:03 +03:00
Alexey Milovidov
bef492240c Apply harmful library only for clickhouse binary 2020-12-17 06:45:46 +03:00
Nikita Mikhaylov
0b6f5c75b9
Merge pull request #17435 from vitlibar/grpc-protocol-2
Implement GRPC protocol (corrections)
2020-11-27 15:19:50 +03:00
Vitaly Baranov
2063cbae0e Remove old and broken C++ grpc-client. 2020-11-26 10:23:01 +03:00
Alexander Kuzmenkov
394b81ac46 Merge remote-tracking branch 'origin/master' into HEAD 2020-11-25 23:38:55 +03:00
Vitaly Baranov
44717797c9 Fix code style and compilation. 2020-11-24 17:53:34 +03:00
mnkonkova
6cd1557d67 Implement GRPC protocol. 2020-11-24 17:53:34 +03:00
myrrc
e460248624 Merge remote-tracking branch 'upstream/master' into improvement/diff-types-in-avg-weighted 2020-11-10 14:54:24 +03:00
Alexey Milovidov
1520b6aa2a Take out odbc-bridge from clickhouse bundle 2020-10-29 08:27:55 +03:00
myrrc
b50397ce38 added binary modes output in cmakelists 2020-10-12 15:38:52 +03:00
myrrc
c78d9f9f38 moved the generators to docs/ folder 2020-09-19 19:42:36 +03:00
myrrc
3953ed485b added sub-tables in report, replaced some USE_ -> ENABLE_ for
consistency
2020-09-18 16:09:22 +03:00
myrrc
a8fa23fb9d updated multi-line command 2020-09-17 19:27:51 +03:00
myrrc
507acdb5e7 fix 2020-09-17 19:17:56 +03:00
myrrc
7cd5c0d34f Merge remote-tracking branch 'upstream/master' into feature/cmake-flags-doc-generator 2020-09-17 19:17:09 +03:00
myrrc
7eff17cd40 removed extra dots in generated list 2020-09-17 18:46:55 +03:00
myrrc
acff0feb58 slighly updated CMake files 2020-09-17 18:09:59 +03:00
myrrc
29ac26f0f2 separated ch parts table 2020-09-16 00:12:37 +03:00
Alexey Milovidov
d18e7adbc0 Add git-import as a tool 2020-09-07 06:22:47 +03:00
Alexey Milovidov
1e04014a71 Fix build 2020-08-09 23:10:51 +03:00
Alexey Milovidov
d9db0a3442 Add simple "clickhouse-install" tool 2020-08-08 21:38:34 +03:00
Yatsishin Ilya
f4646c1dad Leave only unit_tests_dbms 2020-06-04 11:26:22 +03:00
Artem Zuikov
6cc43b743c one more place to remove from 2020-05-25 16:56:57 +03:00
Ilya Yatsishin
9dc493e063
Revert "Revert "Allow to build binaries and tests from deb package build. "" 2020-05-21 18:02:52 +03:00
Alexey Milovidov
b0a5ce7743 Enable clang-tidy for programs and utils 2020-05-18 04:19:50 +03:00
Ivan
97f2a2213e
Move all folders inside /dbms one level up (#9974)
* Move some code outside dbms/src folder
* Fix paths
2020-04-02 02:51:21 +03:00