From a689907e90f27bad24dbf4afb750e3c75d421fcb Mon Sep 17 00:00:00 2001 From: Oliver Sanders Date: Tue, 8 Oct 2024 15:27:55 +0100 Subject: [PATCH] broadcast: fix dictionary changed size during iteration error * Closes #6222 --- cylc/flow/data_store_mgr.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cylc/flow/data_store_mgr.py b/cylc/flow/data_store_mgr.py index bfadadfb55a..3b49050f0ff 100644 --- a/cylc/flow/data_store_mgr.py +++ b/cylc/flow/data_store_mgr.py @@ -2251,7 +2251,9 @@ def delta_broadcast(self): def _generate_broadcast_node_deltas(self, node_data, node_type): cfg = self.schd.config.cfg - for node_id, node in node_data.items(): + # NOTE: node_data may change during operation so make a copy + # see https://github.com/cylc/cylc-flow/pull/6397 + for node_id, node in list(node_data.items()): tokens = Tokens(node_id) new_runtime = runtime_from_config( self._apply_broadcasts_to_runtime(