|
13 | 13 |
|
14 | 14 | from helpers.client import QueryRuntimeException |
15 | 15 | 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 |
17 | 17 |
|
18 | 18 | script_dir = os.path.dirname(os.path.realpath(__file__)) |
19 | 19 |
|
@@ -1798,26 +1798,25 @@ def test_system_backups(): |
1798 | 1798 | id = instance.query( |
1799 | 1799 | f"RESTORE TABLE test.table FROM {backup_name}", query_id=restore_query_id |
1800 | 1800 | ).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) |
1803 | 1801 |
|
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); |
1821 | 1820 |
|
1822 | 1821 | # Failed backup. |
1823 | 1822 | backup_name = new_backup_name() |
|
0 commit comments