Skip to content

Commit de8144f

Browse files
tm-adaamzadaamz
authored andcommitted
asyncio redis cluster: fixed reconnection when whole cluster goes down and then back online
1 parent b7f9a4c commit de8144f

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

redis/asyncio/cluster.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1144,6 +1144,7 @@ class NodesManager:
11441144
"require_full_coverage",
11451145
"slots_cache",
11461146
"startup_nodes",
1147+
"_initial_startup_nodes",
11471148
"address_remap",
11481149
)
11491150

@@ -1155,6 +1156,7 @@ def __init__(
11551156
address_remap: Optional[Callable[[Tuple[str, int]], Tuple[str, int]]] = None,
11561157
) -> None:
11571158
self.startup_nodes = {node.name: node for node in startup_nodes}
1159+
self._initial_startup_nodes = copy.deepcopy(startup_nodes)
11581160
self.require_full_coverage = require_full_coverage
11591161
self.connection_kwargs = connection_kwargs
11601162
self.address_remap = address_remap
@@ -1277,7 +1279,7 @@ async def initialize(self) -> None:
12771279
startup_nodes_reachable = False
12781280
fully_covered = False
12791281
exception = None
1280-
for startup_node in self.startup_nodes.values():
1282+
for startup_node in self.startup_nodes.values() or self._initial_startup_nodes.values():
12811283
try:
12821284
# Make sure cluster mode is enabled on this node
12831285
try:

0 commit comments

Comments
 (0)