redis/redis-py · error · NoValidDatabaseException
No valid database available for communication
Error message
No valid database available for communication
What it means
Error "No valid database available for communication" thrown in redis/redis-py.
Source
Thrown at redis/multidb/failover.py:66
def execute(self) -> SyncDatabase:
"""Execute the failover strategy."""
pass
class WeightBasedFailoverStrategy(FailoverStrategy):
"""
Failover strategy based on database weights.
"""
def __init__(self) -> None:
self._databases = WeightedList()
def database(self) -> SyncDatabase:
for database, _ in self._databases:
if database.circuit.state == CBState.CLOSED:
return database
raise NoValidDatabaseException("No valid database available for communication")
def set_databases(self, databases: Databases) -> None:
self._databases = databases
class DefaultFailoverStrategyExecutor(FailoverStrategyExecutor):
"""
Executes given failover strategy.
"""
def __init__(
self,
strategy: FailoverStrategy,
failover_attempts: int = DEFAULT_FAILOVER_ATTEMPTS,
failover_delay: float = DEFAULT_FAILOVER_DELAY,
):
self._strategy = strategy
self._failover_attempts = failover_attemptsView on GitHub (pinned to da03cdc7e8)
When it happens
Trigger: Thrown at redis/multidb/failover.py:66 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/8dc200161ce9349a.json.
Report an issue: GitHub.