sync_uplinks: iterate a snapshot — revocation may mutate mid-loop

This commit is contained in:
LeoVasanko committed 2026-10-01 06:59:33 +00:00
1 parent 7a34961fa5
commit a38bb6ccec
1 file changed
+2 -1
+2 -1
View File
@@ -589,7 +589,8 @@ class SatelliteManager:
replica = self.replicas.pop(uplink_id)
await replica.stop()
await _drop_client(replica.uplink.url)
for uplink_id, uplink in wanted.items():
# Snapshot: a revocation task may mutate the uplinks mid-loop
for uplink_id, uplink in list(wanted.items()):
uplink.uplink_id = uplink_id # fresh objects lack it until load
replica = self.replicas.get(uplink_id)
if replica is None or replica.uplink != uplink: