mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-26 09:32:01 +00:00
fix tests, update docs
This commit is contained in:
parent
d621b2c4ad
commit
dfd8b2670a
@ -280,13 +280,13 @@ SYSTEM START REPLICATION QUEUES [[db.]replicated_merge_tree_family_table_name]
|
|||||||
|
|
||||||
### SYNC REPLICA
|
### SYNC REPLICA
|
||||||
|
|
||||||
Wait until a `ReplicatedMergeTree` table will be synced with other replicas in a cluster. Will run until `receive_timeout` if fetches currently disabled for the table.
|
Wait until a `ReplicatedMergeTree` table will be synced with other replicas in a cluster, but no more than `receive_timeout` seconds.
|
||||||
|
|
||||||
``` sql
|
``` sql
|
||||||
SYSTEM SYNC REPLICA [ON CLUSTER cluster_name] [db.]replicated_merge_tree_family_table_name
|
SYSTEM SYNC REPLICA [ON CLUSTER cluster_name] [db.]replicated_merge_tree_family_table_name [STRICT]
|
||||||
```
|
```
|
||||||
|
|
||||||
After running this statement the `[db.]replicated_merge_tree_family_table_name` fetches commands from the common replicated log into its own replication queue, and then the query waits till the replica processes all of the fetched commands.
|
After running this statement the `[db.]replicated_merge_tree_family_table_name` fetches commands from the common replicated log into its own replication queue, and then the query waits till the replica processes all of the fetched commands. If a `STRICT` modifier was specified then the query waits for the replication queue to become empty. The `STRICT` version may never succeed if new entries constantly appear in the replication queue.
|
||||||
|
|
||||||
### RESTART REPLICA
|
### RESTART REPLICA
|
||||||
|
|
||||||
|
@ -269,13 +269,13 @@ SYSTEM START REPLICATION QUEUES [[db.]replicated_merge_tree_family_table_name]
|
|||||||
|
|
||||||
### SYNC REPLICA {#query_language-system-sync-replica}
|
### SYNC REPLICA {#query_language-system-sync-replica}
|
||||||
|
|
||||||
Ждет когда таблица семейства `ReplicatedMergeTree` будет синхронизирована с другими репликами в кластере, будет работать до достижения `receive_timeout`, если синхронизация для таблицы отключена в настоящий момент времени:
|
Ждет когда таблица семейства `ReplicatedMergeTree` будет синхронизирована с другими репликами в кластере, но не более `receive_timeout` секунд:
|
||||||
|
|
||||||
``` sql
|
``` sql
|
||||||
SYSTEM SYNC REPLICA [db.]replicated_merge_tree_family_table_name
|
SYSTEM SYNC REPLICA [db.]replicated_merge_tree_family_table_name [STRICT]
|
||||||
```
|
```
|
||||||
|
|
||||||
После выполнения этого запроса таблица `[db.]replicated_merge_tree_family_table_name` синхронизирует команды из общего реплицированного лога в свою собственную очередь репликации. Затем запрос ждет, пока реплика не обработает все синхронизированные команды.
|
После выполнения этого запроса таблица `[db.]replicated_merge_tree_family_table_name` загружает команды из общего реплицированного лога в свою собственную очередь репликации. Затем запрос ждет, пока реплика не обработает все загруженные команды. Если указан модификатор `STRICT`, то запрос ждёт когда очередь репликации станет пустой. Строгий вариант запроса может никогда не завершиться успешно, если в очереди репликации постоянно появляются новые записи.
|
||||||
|
|
||||||
### RESTART REPLICA {#query_language-system-restart-replica}
|
### RESTART REPLICA {#query_language-system-restart-replica}
|
||||||
|
|
||||||
|
@ -192,11 +192,16 @@ def test_drop_table(cluster):
|
|||||||
"create table if not exists test_drop_table (n int) engine=ReplicatedMergeTree('/test/drop_table', '1') "
|
"create table if not exists test_drop_table (n int) engine=ReplicatedMergeTree('/test/drop_table', '1') "
|
||||||
"order by n partition by n % 99 settings storage_policy='s3'"
|
"order by n partition by n % 99 settings storage_policy='s3'"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# A table may get stuck in readonly mode if zk connection was lost during CREATE
|
||||||
|
node.query("detach table test_drop_table sync")
|
||||||
|
node.query("attach table test_drop_table")
|
||||||
|
|
||||||
node.query_with_retry(
|
node.query_with_retry(
|
||||||
"system sync replica test_drop_table",
|
"system sync replica test_drop_table",
|
||||||
settings={"receive_timeout": 5},
|
settings={"receive_timeout": 5},
|
||||||
sleep_time=5,
|
sleep_time=5,
|
||||||
retry_count=20,
|
retry_count=10,
|
||||||
)
|
)
|
||||||
node2.query("drop table test_drop_table sync")
|
node2.query("drop table test_drop_table sync")
|
||||||
assert "1000\t499500\n" == node.query(
|
assert "1000\t499500\n" == node.query(
|
||||||
|
@ -57,7 +57,8 @@ select 'number of noisy messages', max2(count(), 10) from (select count() / (sel
|
|||||||
-- FIXME maybe we should make it stricter ('Code:%Exception: '||s||'%'), but it's not easy because of addMessage
|
-- FIXME maybe we should make it stricter ('Code:%Exception: '||s||'%'), but it's not easy because of addMessage
|
||||||
select 'incorrect patterns', max2(countDistinct(message_format_string), 15) from (
|
select 'incorrect patterns', max2(countDistinct(message_format_string), 15) from (
|
||||||
select message_format_string, any(message) as any_message from logs
|
select message_format_string, any(message) as any_message from logs
|
||||||
where message not like (replaceRegexpAll(message_format_string, '{[:.0-9dfx]*}', '%') as s)
|
where ((rand() % 8) = 0)
|
||||||
|
and message not like (replaceRegexpAll(message_format_string, '{[:.0-9dfx]*}', '%') as s)
|
||||||
and message not like (s || ' (skipped % similar messages)')
|
and message not like (s || ' (skipped % similar messages)')
|
||||||
and message not like ('%Exception: '||s||'%') group by message_format_string
|
and message not like ('%Exception: '||s||'%') group by message_format_string
|
||||||
) where any_message not like '%Poco::Exception%';
|
) where any_message not like '%Poco::Exception%';
|
||||||
|
Loading…
Reference in New Issue
Block a user