mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-14 18:32:29 +00:00
60 lines
1.7 KiB
Python
60 lines
1.7 KiB
Python
|
import pytest
|
||
|
import uuid
|
||
|
import random
|
||
|
import logging
|
||
|
import time
|
||
|
|
||
|
from helpers.cluster import ClickHouseCluster
|
||
|
|
||
|
cluster = ClickHouseCluster(__file__)
|
||
|
|
||
|
node = cluster.add_instance("node", main_configs=["configs/with_delay_config.xml"])
|
||
|
|
||
|
|
||
|
@pytest.fixture(scope="module")
|
||
|
def started_cluster():
|
||
|
try:
|
||
|
cluster.start()
|
||
|
yield cluster
|
||
|
|
||
|
finally:
|
||
|
cluster.shutdown()
|
||
|
|
||
|
|
||
|
def test_undrop_drop_and_undrop_loop(started_cluster):
|
||
|
count = 0
|
||
|
node.query("set allow_experimental_undrop_table_query = 1;")
|
||
|
while count < 10:
|
||
|
random_sec = random.randint(0, 10)
|
||
|
table_uuid = uuid.uuid1().__str__()
|
||
|
logging.info(
|
||
|
"random_sec: " + random_sec.__str__() + ", table_uuid: " + table_uuid
|
||
|
)
|
||
|
node.query(
|
||
|
"create table test_undrop_loop"
|
||
|
+ count.__str__()
|
||
|
+ " UUID '"
|
||
|
+ table_uuid
|
||
|
+ "' (id Int32) Engine=MergeTree() order by id;"
|
||
|
)
|
||
|
node.query("drop table test_undrop_loop" + count.__str__() + ";")
|
||
|
time.sleep(random_sec)
|
||
|
if random_sec >= 5:
|
||
|
error = node.query_and_get_error(
|
||
|
"undrop table test_undrop_loop"
|
||
|
+ count.__str__()
|
||
|
+ " uuid '"
|
||
|
+ table_uuid
|
||
|
+ "' settings allow_experimental_undrop_table_query = 1;"
|
||
|
)
|
||
|
assert "UNKNOWN_TABLE" in error
|
||
|
else:
|
||
|
node.query(
|
||
|
"undrop table test_undrop_loop"
|
||
|
+ count.__str__()
|
||
|
+ " uuid '"
|
||
|
+ table_uuid
|
||
|
+ "' settings allow_experimental_undrop_table_query = 1;"
|
||
|
)
|
||
|
count = count + 1
|