0g-storage-node/tests/snapshot_test.py

42 lines
1.4 KiB
Python
Raw Normal View History

2024-11-18 08:44:40 +00:00
#!/usr/bin/env python3
import os
import shutil
from test_framework.test_framework import TestFramework
from utility.utils import wait_until
class SnapshotTask(TestFramework):
def setup_params(self):
self.num_nodes = 2
2024-11-18 10:56:52 +00:00
# Enable random auto sync only
for i in range(self.num_nodes):
self.zgs_node_configs[i] = {
"sync": {
"auto_sync_enabled": True,
"max_sequential_workers": 3,
"max_random_workers": 3,
2024-11-19 03:10:27 +00:00
"neighbors_only": True,
2024-11-18 10:56:52 +00:00
}
}
2024-11-18 08:44:40 +00:00
def run_test(self):
# Submit and upload files on node 0
data_root_1 = self.__upload_file__(0, 256 * 1024)
wait_until(lambda: self.nodes[1].zgs_get_file_info(data_root_1) is not None)
wait_until(lambda: self.nodes[1].zgs_get_file_info(data_root_1)["finalized"])
# Start the last node to verify historical file sync
self.nodes[1].shutdown()
2024-11-18 10:56:52 +00:00
shutil.rmtree(os.path.join(self.nodes[1].data_dir, 'db/data_db'))
2024-11-18 08:44:40 +00:00
self.start_storage_node(1)
self.nodes[1].wait_for_rpc_connection()
2024-11-19 03:10:27 +00:00
wait_until(lambda: self.nodes[1].zgs_get_file_info(data_root_1) is not None)
wait_until(lambda: self.nodes[1].zgs_get_file_info(data_root_1)["finalized"])
2024-11-18 08:44:40 +00:00
if __name__ == "__main__":
SnapshotTask().main()