Skip to content

Commit ebf2ded

Browse files
async_cluster: properly remove old nodes
1 parent 1d4d6a3 commit ebf2ded

File tree

1 file changed

+5
-7
lines changed

1 file changed

+5
-7
lines changed

redis/asyncio/cluster.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -903,18 +903,16 @@ def set_nodes(
903903
new: Dict[str, "ClusterNode"],
904904
remove_old: bool = False,
905905
) -> None:
906-
tasks = []
907906
if remove_old:
908-
tasks = [
909-
asyncio.ensure_future(node.disconnect())
910-
for name, node in old.items()
911-
if name not in new
912-
]
907+
for name in list(old.keys()):
908+
if name not in new:
909+
asyncio.ensure_future(old.pop(name).disconnect())
910+
913911
for name, node in new.items():
914912
if name in old:
915913
if old[name] is node:
916914
continue
917-
tasks.append(asyncio.ensure_future(old[name].disconnect()))
915+
asyncio.ensure_future(old[name].disconnect())
918916
old[name] = node
919917

920918
def _update_moved_slots(self) -> None:

0 commit comments

Comments
 (0)