redis/redis-py · error · TypeError
target_nodes type can be one of the following: node_flag (PR
Error message
target_nodes type can be one of the following: node_flag (PRIMARIES, REPLICAS, RANDOM, ALL_NODES),ClusterNode, list<ClusterNode>, or dict<any, ClusterNode>. The passed type is {type(target_nodes)} What it means
Error "target_nodes type can be one of the following: node_flag (PRIMARIES, REPLICAS, RANDOM, ALL_NODES),ClusterNode, list<ClusterNode>, or dict<any, ClusterNode>. The passed type is {type(target_nodes)}" thrown in redis/redis-py.
Source
Thrown at redis/cluster.py:1527
"""
return self.nodes_manager.connection_kwargs
def _is_nodes_flag(self, target_nodes):
return isinstance(target_nodes, str) and target_nodes in self.node_flags
def _parse_target_nodes(self, target_nodes):
if isinstance(target_nodes, list):
nodes = target_nodes
elif isinstance(target_nodes, ClusterNode):
# Supports passing a single ClusterNode as a variable
nodes = [target_nodes]
elif isinstance(target_nodes, dict):
# Supports dictionaries of the format {node_name: node}.
# It enables to execute commands with multi nodes as follows:
# rc.cluster_save_config(rc.get_primaries())
nodes = target_nodes.values()
else:
raise TypeError(
"target_nodes type can be one of the following: "
"node_flag (PRIMARIES, REPLICAS, RANDOM, ALL_NODES),"
"ClusterNode, list<ClusterNode>, or dict<any, ClusterNode>. "
f"The passed type is {type(target_nodes)}"
)
return nodes
def execute_command(self, *args, **kwargs):
return self._internal_execute_command(*args, **kwargs)
def _internal_execute_command(self, *args, **kwargs):
"""
Wrapper for ERRORS_ALLOW_RETRY error handling.
It will try the number of times specified by the retries property from
config option "self.retry" which defaults to 10 unless manually
configured.
View on GitHub (pinned to da03cdc7e8)
When it happens
Trigger: Thrown at redis/cluster.py:1527 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of redis/redis-py@da03cdc7e8 (2026-08-04).
Data as JSON: /data/errors/2ea1b368971f80ae.json.
Report an issue: GitHub.