Skip to content

Conversation

@p123-stack
Copy link
Collaborator

Multi-Driver Failover When Primary Node Is Down

Failover Handling Implementation

  • Added support for failover when the highest-priority Neo4j driver is unavailable.

  • DriverSetupManager now continues to next available driver instead of failing immediately.

Exception Handling Improvements

  • Neo4jConnectionPool::acquire() now throws ConnectionPoolException instead of RuntimeException.

  • Neo4jDriver::verifyConnectivity() catches both ConnectException and RuntimeException.

  • Defensive try-catch added in DriverSetupManager::getDriver() to log and skip failed drivers.

Routing & Connectivity

  • Client properly attempts secondary drivers when primary fails.

  • Connection pool and driver retry logic updated to ensure uninterrupted operations.

Testing & Compliance

  • Unit tests added in MultiDriverFailoverTest and ClientExceptionHandlingTest.

  • Tests verify driver fallback, client-level transactions, and complete failover flow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants