-
Notifications
You must be signed in to change notification settings - Fork 73
Description
- Neo4j version: Neo4J Aura (4 Enterprise)
- Neo4j Mode: HA cluster with 3 members/Casual cluster with 1 core 2 read-replica
- Driver version: 1.8 Go driver v1.8.3
- Operating system: Linux Alpine
- Steps to reproduce
Time to time execute some QueryTransaction - Expected behavior
Always returns a result and recovers from errors if possible. - Actual behavior
The application was not used over night when I assume the routing table contained the server 4 and 5 and 6. When the first query hit the server the operation failed but the second query succeeded.
Running theCALL dbms.cluster.routing.getRoutingTable({})cypher showed the cluster is reconfigured to server 7 (WRITE) and 8,9 (READ). The operation was executed with session fromdriver.Session(neo4j.AccessModeRead)so following the number logic the lowest number might be the write node so seems odd that the operation was trying to connect to server 4 and log shows it may checked 5 and 6 before. My application received the EOF error instead of driver recovering and returning with the result.
-
router 1:Reading routing table for '' from any of [neo4j-core-xxxxx-6.production-orch-0001.neo4j.io:7687 neo4j-core-xxxxx-5.production-orch-0001.neo4j.io:7687 neo4j-core-xxxxxxxx-4.production-orch-0001.neo4j.io:7687] -
pool 1:No server connection available to any of [neo4j-core-xxxxx-6.production-orch-0001.neo4j.io:7687] -
pool 1:No server connection available to any of [neo4j-core-xxxxx-5.production-orch-0001.neo4j.io:7687] -
[email protected]:7687/v4:write tcp 10.xxxxx:43874->xxx:7687: write: broken pipegithub.zerozr99.workers.dev/neo4j/neo4j-go-driver/neo4j.adaptorLogger.Error /vendor/github.com/neo4j/neo4j-go-driver/neo4j/logging.go:121 github.com/neo4j/neo4j-go-driver/neo4j/internal/bolt.(*bolt4).sendMsg /vendor/github.com/neo4j/neo4j-go-driver/neo4j/internal/bolt/bolt4.go:139 github.com/neo4j/neo4j-go-driver/neo4j/internal/bolt.(*bolt4).Close /vendor/github.com/neo4j/neo4j-go-driver/neo4j/internal/bolt/bolt4.go:663" -
pool 1:No server connection available to any of [neo4j-core-xxxxxx-4.production-orch-0001.neo4j.io:7687] -
router 1:Unable to retrieve routing table from neo4j-core-xxxxxx-4.production-orch-0001.neo4j.io:7687: EOFgithub.zerozr99.workers.dev/neo4j/neo4j-go-driver/neo4j.adaptorLogger.Error /vendor/github.com/neo4j/neo4j-go-driver/neo4j/logging.go:121 github.com/neo4j/neo4j-go-driver/neo4j/internal/router.(*Router).getTable /vendor/github.com/neo4j/neo4j-go-driver/neo4j/internal/router/router.go:108 github.com/neo4j/neo4j-go-driver/neo4j/internal/router.(*Router).Readers /vendor/github.com/neo4j/neo4j-go-driver/neo4j/internal/router/router.go:122 github.com/neo4j/neo4j-go-driver/neo4j.(*session).borrowConn /vendor/github.com/neo4j/neo4j-go-driver/neo4j/session.go:379 github.com/neo4j/neo4j-go-driver/neo4j.(*session).Run /vendor/github.com/neo4j/neo4j-go-driver/neo4j/session.go:456 -
[email protected]:7687/v4:write tcp 10.8.1.168:43868->35.187.125.190:7687: write: broken pipegithub.zerozr99.workers.dev/neo4j/neo4j-go-driver/neo4j.adaptorLogger.Error /vendor/github.com/neo4j/neo4j-go-driver/neo4j/logging.go:121 github.com/neo4j/neo4j-go-driver/neo4j/internal/bolt.(*bolt4).sendMsg /vendor/github.com/neo4j/neo4j-go-driver/neo4j/internal/bolt/bolt4.go:139 github.com/neo4j/neo4j-go-driver/neo4j/internal/bolt.(*bolt4).Close /vendor/github.com/neo4j/neo4j-go-driver/neo4j/internal/bolt/bolt4.go:663