sync_uplinks: iterate a snapshot — revocation may mutate mid-loop
This commit is contained in:
1 parent
7a34961fa5
commit
a38bb6ccec
1 file changed
+2
-1
+2
-1
@@ -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:
|
||||
|
||||
Reference in new issue
Block a user