You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Enhancement] A suggestion regarding StorageManager initialization #6
We have written the startup script for Transferqueue + Datasystem backend as follows:
classTrainer:
def__init__(self, config: dict):
self.config=configself._initialize_transferqueue()
def_initialize_transferqueue(self):
# 1. Initialize TransferQueueController (single controller only)self.tq_controller=TransferQueueController.remote()
# 2. Prepare necessary information of the controllerself.tq_controller_info=process_zmq_server_info(self.tq_controller)
tq_config=OmegaConf.create({}, flags={"allow_objects": True}) # Note: Need to generate a new DictConfig# with allow_objects=True to maintain ZMQServerInfo instance. Otherwise it will be flattened to dicttq_config.controller_info=self.tq_controller_infoself.config=OmegaConf.merge(tq_config, self.config)
# 3. Create TransferQueueClientself.tq_client=TransferQueueClient(
client_id="Trainer",
controller_info=self.tq_controller_info,
)
# 4. Connect to DataSystemself.tq_client.initialize_storage_manager(manager_type=self.config["manager_type"], config=self.config)
returnself.tq_client
We found TransferQueueClient requires controller_info during initialization and holds it, but StorageManager also needs to pass controller_info during initialization.
From the user's perspective, the relationship between StorageManager and controller may not be directly perceptible. Users might forget to add controller_info when passing in the configuration, resulting in ValueError. Perhaps we should tolerate this behavior instead of throwing an exception directly.
Activity
dpj135 commentedon Jan 21, 2026
If this suggestion is reasonable, I would be glad to work on it.
0oshowero0 commentedon Jan 24, 2026
That's a good suggestion! We should implement it.
0oshowero0 commentedon Feb 5, 2026
Done in #26
[refactor] Simplify initialization and improve API usability (#26)