Merge pull request #17567 from ClickHouse/insert_quorum_parallel-default

Insert quorum parallel by default
This commit is contained in:
alexey-milovidov 2020-12-18 08:08:26 +03:00 committed by GitHub
commit 0d9519a0a2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 14 additions and 13 deletions

View File

@ -166,7 +166,7 @@ class IColumn;
\
M(UInt64, insert_quorum, 0, "For INSERT queries in the replicated table, wait writing for the specified number of replicas and linearize the addition of the data. 0 - disabled.", 0) \
M(Milliseconds, insert_quorum_timeout, 600000, "", 0) \
M(Bool, insert_quorum_parallel, false, "For quorum INSERT queries - enable to make parallel inserts without linearizability", 0) \
M(Bool, insert_quorum_parallel, true, "For quorum INSERT queries - enable to make parallel inserts without linearizability", 0) \
M(UInt64, select_sequential_consistency, 0, "For SELECT queries from the replicated table, throw an exception if the replica does not have a chunk written with the quorum; do not read the parts that have not yet been written with the quorum.", 0) \
M(UInt64, table_function_remote_max_addresses, 1000, "The maximum number of different shards and the maximum number of replicas of one shard in the `remote` function.", 0) \
M(Milliseconds, read_backoff_min_latency_ms, 1000, "Setting to reduce the number of threads in case of slow reads. Pay attention only to reads that took at least that much time.", 0) \

View File

@ -5,6 +5,7 @@
<max_memory_usage>10000000000</max_memory_usage>
<use_uncompressed_cache>0</use_uncompressed_cache>
<insert_quorum>2</insert_quorum>
<insert_quorum_parallel>0</insert_quorum_parallel>
<select_sequential_consistency>1</select_sequential_consistency>
</default>
</profiles>

View File

@ -17,7 +17,7 @@ SET select_sequential_consistency=1;
SELECT x FROM quorum1 ORDER BY x;
SELECT x FROM quorum2 ORDER BY x;
SET insert_quorum=2;
SET insert_quorum=2, insert_quorum_parallel=0;
INSERT INTO quorum1 VALUES (4, '1990-11-15');
INSERT INTO quorum1 VALUES (5, '1990-11-15');

View File

@ -6,7 +6,7 @@ DROP TABLE IF EXISTS quorum2;
CREATE TABLE quorum1(x UInt32, y Date) ENGINE ReplicatedMergeTree('/clickhouse/tables/test_00732/quorum_lost_alive', '1') ORDER BY x PARTITION BY y;
CREATE TABLE quorum2(x UInt32, y Date) ENGINE ReplicatedMergeTree('/clickhouse/tables/test_00732/quorum_lost_alive', '2') ORDER BY x PARTITION BY y;
SET insert_quorum=2;
SET insert_quorum=2, insert_quorum_parallel=0;
SET select_sequential_consistency=1;
INSERT INTO quorum1 VALUES (1, '2018-11-15');
@ -30,7 +30,7 @@ SET select_sequential_consistency=1;
SYSTEM START FETCHES quorum1;
SYSTEM SYNC REPLICA quorum1;
SELECT x FROM quorum1 ORDER BY x;
SELECT x FROM quorum2 ORDER BY x;

View File

@ -6,7 +6,7 @@ DROP TABLE IF EXISTS quorum2;
CREATE TABLE quorum1(x UInt32, y Date) ENGINE ReplicatedMergeTree('/clickhouse/tables/test_00732/quorum_lost', '1') ORDER BY x PARTITION BY y;
CREATE TABLE quorum2(x UInt32, y Date) ENGINE ReplicatedMergeTree('/clickhouse/tables/test_00732/quorum_lost', '2') ORDER BY x PARTITION BY y;
SET insert_quorum=2;
SET insert_quorum=2, insert_quorum_parallel=0;
SET select_sequential_consistency=1;
SET insert_quorum_timeout=0;
@ -27,7 +27,7 @@ SET insert_quorum_timeout=100;
SYSTEM START FETCHES quorum1;
SYSTEM SYNC REPLICA quorum1;
SELECT x FROM quorum1 ORDER BY x;
SELECT x FROM quorum2 ORDER BY x;

View File

@ -13,7 +13,7 @@ INSERT INTO quorum1 VALUES (3, '2020-12-16');
SYSTEM SYNC REPLICA quorum2;
SET select_sequential_consistency=1;
SET insert_quorum=2;
SET insert_quorum=2, insert_quorum_parallel=0;
SET insert_quorum_timeout=0;

View File

@ -6,7 +6,7 @@ DROP TABLE IF EXISTS quorum2;
CREATE TABLE quorum1(x UInt32, y Date) ENGINE ReplicatedMergeTree('/clickhouse/tables/test_00732/quorum1', '1') ORDER BY x PARTITION BY y;
CREATE TABLE quorum2(x UInt32, y Date) ENGINE ReplicatedMergeTree('/clickhouse/tables/test_00732/quorum1', '2') ORDER BY x PARTITION BY y;
SET insert_quorum=2;
SET insert_quorum=2, insert_quorum_parallel=0;
SET select_sequential_consistency=1;
INSERT INTO quorum1 VALUES (1, '2018-11-15');

View File

@ -6,7 +6,7 @@ DROP TABLE IF EXISTS quorum2;
CREATE TABLE quorum1(x UInt32, y Date) ENGINE ReplicatedMergeTree('/clickhouse/tables/test_00732/quorum2', '1') ORDER BY x PARTITION BY y;
CREATE TABLE quorum2(x UInt32, y Date) ENGINE ReplicatedMergeTree('/clickhouse/tables/test_00732/quorum2', '2') ORDER BY x PARTITION BY y;
SET insert_quorum=2;
SET insert_quorum=2, insert_quorum_parallel=0;
SET select_sequential_consistency=1;
INSERT INTO quorum1 VALUES (1, '2018-11-15');

View File

@ -4,7 +4,7 @@ DROP TABLE IF EXISTS mutations_and_quorum2;
CREATE TABLE mutations_and_quorum1 (`server_date` Date, `something` String) ENGINE = ReplicatedMergeTree('/clickhouse/tables/test_01090/mutations_and_quorum', '1') PARTITION BY toYYYYMM(server_date) ORDER BY (server_date, something);
CREATE TABLE mutations_and_quorum2 (`server_date` Date, `something` String) ENGINE = ReplicatedMergeTree('/clickhouse/tables/test_01090/mutations_and_quorum', '2') PARTITION BY toYYYYMM(server_date) ORDER BY (server_date, something);
SET insert_quorum=2;
SET insert_quorum=2, insert_quorum_parallel=0;
INSERT INTO mutations_and_quorum1 VALUES ('2019-01-01', 'test1'), ('2019-02-01', 'test2'), ('2019-03-01', 'test3'), ('2019-04-01', 'test4'), ('2019-05-01', 'test1'), ('2019-06-01', 'test2'), ('2019-07-01', 'test3'), ('2019-08-01', 'test4'), ('2019-09-01', 'test1'), ('2019-10-01', 'test2'), ('2019-11-01', 'test3'), ('2019-12-01', 'test4');

View File

@ -22,7 +22,7 @@ SELECT * FROM replica2;
-- drop of empty partition works
ALTER TABLE replica2 DROP PARTITION ID 'all';
SET insert_quorum=2;
SET insert_quorum = 2, insert_quorum_parallel = 0;
INSERT INTO replica2 VALUES (1);

View File

@ -17,7 +17,7 @@ done
function thread {
for x in {0..99}; do
while true; do
$CLICKHOUSE_CLIENT --insert_quorum 5 --query "INSERT INTO r$1 SELECT $x" 2>&1 | grep -qF 'Quorum for previous write has not been satisfied yet' || break
$CLICKHOUSE_CLIENT --insert_quorum 5 --insert_quorum_parallel 0 --query "INSERT INTO r$1 SELECT $x" 2>&1 | grep -qF 'Quorum for previous write has not been satisfied yet' || break
done
done
}

View File

@ -17,7 +17,7 @@ SYSTEM SYNC REPLICA quorum3;
SET select_sequential_consistency=0;
SET optimize_trivial_count_query=1;
SET insert_quorum=2;
SET insert_quorum=2, insert_quorum_parallel=0;
SYSTEM STOP FETCHES quorum1;