* 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>
* DOCSUP-2806: Add meta intro.
* DOCSUP-2806: Update meta intro.
* DOCSUP-2806: Fix meta.
* DOCSUP-2806: Add quotes for meta headers.
* DOCSUP-2806: Remove quotes from meta headers.
* DOCSUP-2806: Add meta headers.
* DOCSUP-2806: Fix quotes in meta headers.
* DOCSUP-2806: Update meta headers.
* DOCSUP-2806: Fix link to nowhere in EN.
* DOCSUP-2806: Fix link (settings to tune)
* DOCSUP-2806: Fix links.
* DOCSUP-2806:Fix links EN
* DOCSUP-2806: Fix build errors.
* DOCSUP-2806: Fix meta intro.
* DOCSUP-2806: Fix toc_priority in examples datasets TOC.
* DOCSUP-2806: Fix items order in toc.
* DOCSUP-2806: Fix order in toc.
* DOCSUP-2806: Fix toc order.
* DOCSUP-2806: Fix order in toc.
* DOCSUP-2806: Fix toc index in create
* DOCSUP-2806: Fix toc order in create.
Co-authored-by: romanzhukov <romanzhukov@yandex-team.ru>
Co-authored-by: alexey-milovidov <milovidov@yandex-team.ru>
After this patch SYSTEM FLUSH LOGS will force system.*_log table
creatoins (only for enabled tables of course).
This will avoid such hacks like:
set log_queries=1;
select 1;
system flush logs;
This is the second version of the patch, since first has a deadlock [1]
(reported by @alesapin). This version does not use separate lock and do
not issue CREATE TABLE from the query execution thread, instead it
activate flushing thread to do so, hence this should be the same as if
the table will be created during flush.
[1]: https://gist.github.com/alesapin/d915d1deaa27d49aa31223daded02be2Fixes: #11563
Cc: @alesapin
Cc: @nikitamikhaylov