Symptoms:
In the course of operations, the driver may report this error:
Neo4jError: Could not perform discovery. No routing servers available. Known routing table: RoutingTable[database=default database, expirationTime=0, currentTime=1655848841597, routers=[], readers=[], writers=[]]
at new Neo4jError (/Users/aj/node_modules/neo4j-driver-core/lib/error.js:74:28)
at newError (/Users/aj/node_modules/neo4j-driver-core/lib/error.js:93:12)
at RoutingConnectionProvider.<anonymous> (/Users/aj/node_modules/neo4j-driver-bolt-connection/lib/connection-provider/connection-provider-routing.js:552:68)
at step (/Users/aj/node_modules/neo4j-driver-bolt-connection/lib/connection-provider/connection-provider-routing.js:96:23)
at Object.next (/Users/aj/node_modules/neo4j-driver-bolt-connection/lib/connection-provider/connection-provider-routing.js:77:53)
at /Users/aj/node_modules/neo4j-driver-bolt-connection/lib/connection-provider/connection-provider-routing.js:71:71
at new Promise (<anonymous>)
at __awaiter (/Users/aj/node_modules/neo4j-driver-bolt-connection/lib/connection-provider/connection-provider-routing.js:67:12)
at RoutingConnectionProvider._applyRoutingTableIfPossible (/Users/aj/node_modules/neo4j-driver-bolt-connection/lib/connection-provider/connection-provider-routing.js:546:16)
at RoutingConnectionProvider.<anonymous> (/Users/aj/node_modules/neo4j-driver-bolt-connection/lib/connection-provider/connection-provider-routing.js:374:55) {
constructor: [Function: Neo4jError],
code: 'ServiceUnavailable'
}
When your driver reports this, it can be a number of possible causes.
Troubleshooting:
To check the connectivity and isolate a potential driver issue, we suggest the following:
- Verify that you are able to communicate with the host by using the traceroute command (tracert on Windows).
- Test if you can connect to the instance with cypher-shell.
At a shell prompt, invoke Cypher Shell by doing the following:
Ensure <DBID> ,<username> and <password> are replaced accordingly
% cypher-shell -a <DBID>.databases.neo4j.io -u <username> -d neo4j -p <password> --encryption true
Connected to Neo4j using Bolt protocol version 4.4 at neo4j://DBID.databases.neo4j.io:7687 as user neo4j.
Type :help for a list of available commands or :exit to exit the shell.
Note that Cypher queries must end with a semicolon.
neo4j@neo4j>
If you can connect using Cypher Shell, your database instance is up and running and accepting connections; therefore, the issue has been isolated to the driver.
Setting up debug logging in while using one of the official Neo4j Drivers.
Check How to Enable Debug Level Logging for Neo4j Drivers? to know more about this.
Comments
0 comments
Please sign in to leave a comment.