mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-25 00:52:02 +00:00
Improve test_insert_into_distributed
This commit is contained in:
parent
1db6eb3666
commit
c4a1aa175c
@ -1,6 +1,7 @@
|
|||||||
import time
|
import time
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
from helpers.client import QueryRuntimeException
|
||||||
from helpers.cluster import ClickHouseCluster
|
from helpers.cluster import ClickHouseCluster
|
||||||
from helpers.network import PartitionManager
|
from helpers.network import PartitionManager
|
||||||
from helpers.test_tools import TSV
|
from helpers.test_tools import TSV
|
||||||
@ -76,11 +77,19 @@ CREATE TABLE table_function (n UInt8, s String) ENGINE = MergeTree() ORDER BY n'
|
|||||||
CREATE TABLE table_function (n UInt8, s String) ENGINE = MergeTree() ORDER BY n''')
|
CREATE TABLE table_function (n UInt8, s String) ENGINE = MergeTree() ORDER BY n''')
|
||||||
|
|
||||||
node1.query('''
|
node1.query('''
|
||||||
CREATE TABLE distributed_one_replica (date Date, id UInt32) ENGINE = Distributed('shard_with_local_replica_internal_replication', 'default', 'single_replicated')
|
CREATE TABLE distributed_one_replica_internal_replication (date Date, id UInt32) ENGINE = Distributed('shard_with_local_replica_internal_replication', 'default', 'single_replicated')
|
||||||
''')
|
''')
|
||||||
|
|
||||||
node2.query('''
|
node2.query('''
|
||||||
CREATE TABLE distributed_one_replica (date Date, id UInt32) ENGINE = Distributed('shard_with_local_replica_internal_replication', 'default', 'single_replicated')
|
CREATE TABLE distributed_one_replica_internal_replication (date Date, id UInt32) ENGINE = Distributed('shard_with_local_replica_internal_replication', 'default', 'single_replicated')
|
||||||
|
''')
|
||||||
|
|
||||||
|
node1.query('''
|
||||||
|
CREATE TABLE distributed_one_replica_no_internal_replication (date Date, id UInt32) ENGINE = Distributed('shard_with_local_replica', 'default', 'single_replicated')
|
||||||
|
''')
|
||||||
|
|
||||||
|
node2.query('''
|
||||||
|
CREATE TABLE distributed_one_replica_no_internal_replication (date Date, id UInt32) ENGINE = Distributed('shard_with_local_replica', 'default', 'single_replicated')
|
||||||
''')
|
''')
|
||||||
|
|
||||||
node2.query('''
|
node2.query('''
|
||||||
@ -174,10 +183,41 @@ def test_inserts_local(started_cluster):
|
|||||||
assert instance.query("SELECT count(*) FROM local").strip() == '1'
|
assert instance.query("SELECT count(*) FROM local").strip() == '1'
|
||||||
|
|
||||||
|
|
||||||
def test_inserts_single_replica(started_cluster):
|
def test_inserts_single_replica_local_internal_replication(started_cluster):
|
||||||
|
with pytest.raises(QueryRuntimeException, match="Table default.single_replicated doesn't exist"):
|
||||||
node1.query(
|
node1.query(
|
||||||
"INSERT INTO distributed_one_replica VALUES ('2000-01-01', 1)",
|
"INSERT INTO distributed_one_replica_internal_replication VALUES ('2000-01-01', 1)",
|
||||||
settings={"insert_distributed_sync": "1", "prefer_localhost_replica": "0"},
|
settings={
|
||||||
|
"insert_distributed_sync": "1",
|
||||||
|
"prefer_localhost_replica": "1",
|
||||||
|
# to make the test more deterministic
|
||||||
|
"load_balancing": "first_or_random",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
assert node2.query("SELECT count(*) FROM single_replicated").strip() == '0'
|
||||||
|
|
||||||
|
|
||||||
|
def test_inserts_single_replica_internal_replication(started_cluster):
|
||||||
|
node1.query(
|
||||||
|
"INSERT INTO distributed_one_replica_internal_replication VALUES ('2000-01-01', 1)",
|
||||||
|
settings={
|
||||||
|
"insert_distributed_sync": "1",
|
||||||
|
"prefer_localhost_replica": "0",
|
||||||
|
# to make the test more deterministic
|
||||||
|
"load_balancing": "first_or_random",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
assert node2.query("SELECT count(*) FROM single_replicated").strip() == '1'
|
||||||
|
|
||||||
|
|
||||||
|
def test_inserts_single_replica_no_internal_replication(started_cluster):
|
||||||
|
with pytest.raises(QueryRuntimeException, match="Table default.single_replicated doesn't exist"):
|
||||||
|
node1.query(
|
||||||
|
"INSERT INTO distributed_one_replica_no_internal_replication VALUES ('2000-01-01', 1)",
|
||||||
|
settings={
|
||||||
|
"insert_distributed_sync": "1",
|
||||||
|
"prefer_localhost_replica": "0",
|
||||||
|
},
|
||||||
)
|
)
|
||||||
assert node2.query("SELECT count(*) FROM single_replicated").strip() == '1'
|
assert node2.query("SELECT count(*) FROM single_replicated").strip() == '1'
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user