From 0c62a7782494f7fbdf8647d012d0b7dce690e190 Mon Sep 17 00:00:00 2001 From: ali Date: Wed, 28 Jun 2023 13:08:41 +0200 Subject: [PATCH 1/3] save a reference to created tasks, to avoid tasks disappearing mid-execution --- redis/asyncio/cluster.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/redis/asyncio/cluster.py b/redis/asyncio/cluster.py index 989c6ccda8..1f942ac66e 100644 --- a/redis/asyncio/cluster.py +++ b/redis/asyncio/cluster.py @@ -1108,13 +1108,13 @@ def set_nodes( if remove_old: for name in list(old.keys()): if name not in new: - asyncio.create_task(old.pop(name).disconnect()) + task = asyncio.create_task(old.pop(name).disconnect()) for name, node in new.items(): if name in old: if old[name] is node: continue - asyncio.create_task(old[name].disconnect()) + task = asyncio.create_task(old[name].disconnect()) old[name] = node def _update_moved_slots(self) -> None: From 1c9d8c2a8970dd4976a8cb37cc738d2509f4ff14 Mon Sep 17 00:00:00 2001 From: dvora-h <67596500+dvora-h@users.noreply.github.com> Date: Thu, 21 Sep 2023 10:54:47 +0300 Subject: [PATCH 2/3] Ignore linter --- redis/asyncio/cluster.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redis/asyncio/cluster.py b/redis/asyncio/cluster.py index 8780eec619..57b01515e7 100644 --- a/redis/asyncio/cluster.py +++ b/redis/asyncio/cluster.py @@ -1117,7 +1117,7 @@ def set_nodes( if remove_old: for name in list(old.keys()): if name not in new: - task = asyncio.create_task(old.pop(name).disconnect()) + task = asyncio.create_task(old.pop(name).disconnect()) # noqa for name, node in new.items(): if name in old: From ebe61a34013c7e0806ed9af21b0b13389b5ed144 Mon Sep 17 00:00:00 2001 From: dvora-h <67596500+dvora-h@users.noreply.github.com> Date: Thu, 21 Sep 2023 10:55:11 +0300 Subject: [PATCH 3/3] Ignore linter --- redis/asyncio/cluster.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redis/asyncio/cluster.py b/redis/asyncio/cluster.py index 57b01515e7..88cd8f1b9e 100644 --- a/redis/asyncio/cluster.py +++ b/redis/asyncio/cluster.py @@ -1123,7 +1123,7 @@ def set_nodes( if name in old: if old[name] is node: continue - task = asyncio.create_task(old[name].disconnect()) + task = asyncio.create_task(old[name].disconnect()) # noqa old[name] = node def _update_moved_slots(self) -> None: