mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-20 08:40:50 +00:00
Minor fixes in test_ttl_move
.
This commit is contained in:
parent
a9a7da8e68
commit
c0947ab609
@ -933,7 +933,11 @@ def test_concurrent_alter_modify(start_cluster, name, engine):
|
||||
def alter_modify(num):
|
||||
for i in range(num):
|
||||
column_type = random.choice(["UInt64", "String"])
|
||||
node1.query("ALTER TABLE {} MODIFY COLUMN number {}".format(name, column_type))
|
||||
try:
|
||||
node1.query("ALTER TABLE {} MODIFY COLUMN number {}".format(name, column_type))
|
||||
except:
|
||||
if "Replicated" not in engine:
|
||||
raise
|
||||
|
||||
insert(100)
|
||||
|
||||
|
@ -147,7 +147,10 @@ def test_inserts_to_disk_work(started_cluster, name, engine, positive):
|
||||
assert node1.query("SELECT count() FROM {name}".format(name=name)).strip() == "10"
|
||||
|
||||
finally:
|
||||
node1.query("DROP TABLE IF EXISTS {}".format(name))
|
||||
try:
|
||||
node1.query("DROP TABLE IF EXISTS {}".format(name))
|
||||
except:
|
||||
pass
|
||||
|
||||
|
||||
@pytest.mark.parametrize("name,engine,positive", [
|
||||
@ -168,7 +171,7 @@ def test_moves_to_disk_work(started_cluster, name, engine, positive):
|
||||
SETTINGS storage_policy='small_jbod_with_external'
|
||||
""".format(name=name, engine=engine))
|
||||
|
||||
wait_expire_1 = 6
|
||||
wait_expire_1 = 12
|
||||
wait_expire_2 = 4
|
||||
time_1 = time.time() + wait_expire_1
|
||||
time_2 = time.time() + wait_expire_1 + wait_expire_2
|
||||
@ -389,7 +392,7 @@ def test_merges_to_disk_work(started_cluster, name, engine, positive):
|
||||
node1.query("SYSTEM STOP MERGES {}".format(name))
|
||||
node1.query("SYSTEM STOP MOVES {}".format(name))
|
||||
|
||||
wait_expire_1 = 10
|
||||
wait_expire_1 = 16
|
||||
wait_expire_2 = 4
|
||||
time_1 = time.time() + wait_expire_1
|
||||
time_2 = time.time() + wait_expire_1 + wait_expire_2
|
||||
@ -509,7 +512,7 @@ def test_moves_after_merges_work(started_cluster, name, engine, positive):
|
||||
SETTINGS storage_policy='small_jbod_with_external'
|
||||
""".format(name=name, engine=engine))
|
||||
|
||||
wait_expire_1 = 10
|
||||
wait_expire_1 = 16
|
||||
wait_expire_2 = 4
|
||||
time_1 = time.time() + wait_expire_1
|
||||
time_2 = time.time() + wait_expire_1 + wait_expire_2
|
||||
@ -684,7 +687,7 @@ limitations under the License."""
|
||||
"""
|
||||
now = time.time()
|
||||
try:
|
||||
sleeps = { delay : start_thread(target=time.sleep, args=(delay,)) for delay in [12, 22] }
|
||||
sleeps = { delay : start_thread(target=time.sleep, args=(delay,)) for delay in [16, 26] }
|
||||
|
||||
node1.query("""
|
||||
CREATE TABLE {name} (
|
||||
@ -694,16 +697,16 @@ limitations under the License."""
|
||||
) ENGINE = {engine}
|
||||
ORDER BY tuple()
|
||||
PARTITION BY p1
|
||||
TTL d1 + INTERVAL 30 SECOND TO DISK 'jbod2',
|
||||
d1 + INTERVAL 60 SECOND TO VOLUME 'external'
|
||||
TTL d1 + INTERVAL 34 SECOND TO DISK 'jbod2',
|
||||
d1 + INTERVAL 64 SECOND TO VOLUME 'external'
|
||||
SETTINGS storage_policy='jbods_with_external', merge_with_ttl_timeout=0
|
||||
""".format(name=name, engine=engine))
|
||||
|
||||
node1.query("""
|
||||
ALTER TABLE {name} MODIFY
|
||||
TTL d1 + INTERVAL 0 SECOND TO DISK 'jbod2',
|
||||
d1 + INTERVAL 10 SECOND TO VOLUME 'external',
|
||||
d1 + INTERVAL 20 SECOND DELETE
|
||||
d1 + INTERVAL 14 SECOND TO VOLUME 'external',
|
||||
d1 + INTERVAL 24 SECOND DELETE
|
||||
""".format(name=name))
|
||||
|
||||
for p in range(3):
|
||||
@ -721,14 +724,14 @@ limitations under the License."""
|
||||
|
||||
assert node1.query("SELECT count() FROM {name}".format(name=name)).splitlines() == ["6"]
|
||||
|
||||
sleeps[12].join()
|
||||
sleeps[16].join()
|
||||
|
||||
used_disks = get_used_disks_for_table(node1, name)
|
||||
assert set(used_disks) == {"external"} if positive else {"jbod1", "jbod2"}
|
||||
|
||||
assert node1.query("SELECT count() FROM {name}".format(name=name)).splitlines() == ["6"]
|
||||
|
||||
sleeps[22].join()
|
||||
sleeps[26].join()
|
||||
|
||||
node1.query("OPTIMIZE TABLE {name} FINAL".format(name=name))
|
||||
|
||||
@ -788,7 +791,7 @@ def test_concurrent_alter_with_ttl_move(started_cluster, name, engine):
|
||||
try:
|
||||
node1.query("ALTER TABLE {} MOVE {mt} {mp} TO {md} {mv}".format(
|
||||
name, mt=move_type, mp=move_part, md=move_disk, mv=move_volume))
|
||||
except QueryRuntimeException as ex:
|
||||
except QueryRuntimeException:
|
||||
pass
|
||||
|
||||
for i in range(num):
|
||||
@ -805,7 +808,10 @@ def test_concurrent_alter_with_ttl_move(started_cluster, name, engine):
|
||||
what = random.choice(["TO VOLUME 'main'", "TO VOLUME 'external'", "TO DISK 'jbod1'", "TO DISK 'jbod2'", "TO DISK 'external'"])
|
||||
when = "now()+{}".format(random.randint(-1, 5))
|
||||
ttls.append("{} {}".format(when, what))
|
||||
node1.query("ALTER TABLE {} MODIFY TTL {}".format(name, ", ".join(ttls)))
|
||||
try:
|
||||
node1.query("ALTER TABLE {} MODIFY TTL {}".format(name, ", ".join(ttls)))
|
||||
except QueryRuntimeException:
|
||||
pass
|
||||
|
||||
def optimize_table(num):
|
||||
for i in range(num):
|
||||
@ -865,6 +871,8 @@ def test_double_move_while_select(started_cluster, name, positive):
|
||||
node1.query("INSERT INTO {name} VALUES (3, '{string}')".format(name=name, string=get_random_string(9 * 1024 * 1024)))
|
||||
node1.query("INSERT INTO {name} VALUES (4, '{string}')".format(name=name, string=get_random_string(9 * 1024 * 1024)))
|
||||
|
||||
time.sleep(1)
|
||||
|
||||
# If SELECT locked old part on external, move shall fail.
|
||||
assert node1.query("SELECT disk_name FROM system.parts WHERE table = '{name}' AND active = 1 AND name = '{part}'"
|
||||
.format(name=name, part=parts[0])).splitlines() == ["jbod1" if positive else "external"]
|
||||
|
Loading…
Reference in New Issue
Block a user