Skip to content

Commit dd65477

Browse files
committed
Add retry logic to test_backup_restore_new::test_system_backups
1 parent 16579a9 commit dd65477

File tree

1 file changed

+19
-20
lines changed
  • tests/integration/test_backup_restore_new

1 file changed

+19
-20
lines changed

tests/integration/test_backup_restore_new/test.py

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
from helpers.client import QueryRuntimeException
1515
from helpers.cluster import ClickHouseCluster
16-
from helpers.test_tools import TSV, assert_eq_with_retry
16+
from helpers.test_tools import TSV, assert_eq_with_retry, wait_condition
1717

1818
script_dir = os.path.dirname(os.path.realpath(__file__))
1919

@@ -1798,26 +1798,25 @@ def test_system_backups():
17981798
id = instance.query(
17991799
f"RESTORE TABLE test.table FROM {backup_name}", query_id=restore_query_id
18001800
).split("\t")[0]
1801-
restore_info = get_backup_info_from_system_backups(by_id=id)
1802-
restore_events = get_events_for_query(restore_query_id)
18031801

1804-
assert restore_info.name == escaped_backup_name
1805-
assert restore_info.status == "RESTORED"
1806-
assert restore_info.error == ""
1807-
assert restore_info.start_time < restore_info.end_time
1808-
assert restore_info.num_files == info.num_files
1809-
assert restore_info.total_size == info.total_size
1810-
assert restore_info.num_entries == info.num_entries
1811-
assert restore_info.uncompressed_size == info.uncompressed_size
1812-
assert restore_info.compressed_size == info.compressed_size
1813-
assert (
1814-
restore_info.files_read + restore_events["RestorePartsSkippedFiles"]
1815-
== restore_info.num_files
1816-
)
1817-
assert (
1818-
restore_info.bytes_read + restore_events["RestorePartsSkippedBytes"]
1819-
== restore_info.total_size
1820-
)
1802+
def verify_restore_info():
1803+
restore_info = get_backup_info_from_system_backups(by_id=id)
1804+
restore_events = get_events_for_query(restore_query_id)
1805+
return (
1806+
restore_info.name == escaped_backup_name and
1807+
restore_info.status == "RESTORED" and
1808+
restore_info.error == "" and
1809+
restore_info.start_time < restore_info.end_time and
1810+
restore_info.num_files == info.num_files and
1811+
restore_info.total_size == info.total_size and
1812+
restore_info.num_entries == info.num_entries and
1813+
restore_info.uncompressed_size == info.uncompressed_size and
1814+
restore_info.compressed_size == info.compressed_size and
1815+
restore_info.files_read + restore_events["RestorePartsSkippedFiles"] == restore_info.num_files and
1816+
restore_info.bytes_read + restore_events["RestorePartsSkippedBytes"] == restore_info.total_size
1817+
)
1818+
1819+
wait_condition(verify_restore_info, lambda x: x);
18211820

18221821
# Failed backup.
18231822
backup_name = new_backup_name()

0 commit comments

Comments
 (0)