mirror of
				https://github.com/0glabs/0g-storage-node.git
				synced 2025-11-04 08:37:27 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
#!/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
 | 
						|
 | 
						|
        # 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,
 | 
						|
                    "neighbors_only": True,
 | 
						|
                }
 | 
						|
            }
 | 
						|
 | 
						|
    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()
 | 
						|
        shutil.rmtree(os.path.join(self.nodes[1].data_dir, "db/data_db"))
 | 
						|
 | 
						|
        self.start_storage_node(1)
 | 
						|
        self.nodes[1].wait_for_rpc_connection()
 | 
						|
 | 
						|
        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"])
 | 
						|
 | 
						|
 | 
						|
if __name__ == "__main__":
 | 
						|
    SnapshotTask().main()
 |