golang-neo4j-bolt-driver icon indicating copy to clipboard operation
golang-neo4j-bolt-driver copied to clipboard

High Availability

Open mzimmerman opened this issue 8 years ago • 6 comments

I took me a while to figure out how to run neo4j in high availability mode -- then it seems this driver doesn't support it?

Does this driver support the new casaul mode? (I couldn't get that to run, that's for another day apparently).

Thanks!

mzimmerman avatar Feb 14 '17 20:02 mzimmerman

I didn't think that there was any extra implementation needed in the driver for HA mode, but I don't have an HA setup to test - I believe that's only available in the enterprise version. Unfortunately, I don't have the necessary funds to purchase that.

I am unaware of the new causal mode, I'll have to do some more research on it. A quick look seems to suggest that it might take some extra implementation from the driver side.

johnnadratowski avatar Feb 14 '17 20:02 johnnadratowski

I'm 100% sure neo4j's team will provide a free Enterprise Edition for development of drivers. Esp. considering that this driver is #1 Golang bolt driver ;)

oharlem avatar Feb 15 '17 01:02 oharlem

@mpmlj - That's a good point, I'll reach out to my contact at Neo and see what he says.

johnnadratowski avatar Feb 15 '17 12:02 johnnadratowski

Just popping in to confirm that this driver doesn't work automatically with Causal Cluster, essentially the problem is the LEADER server is the only one with the WRITE role, sending a write request to a FOLLOWER server will return an error stating that the server is incapable of writing.

thessem avatar May 08 '17 05:05 thessem

Hey any update on HA? You can create a test cluster using their enterprise Docker containers. https://hub.docker.com/_/neo4j/

From the original driver, it looks like they create a routing table in each client and send the queries off to the respective node:

https://github.com/neo4j/neo4j-dotnet-driver/blob/2ad1ceb6ff4ac8c7de3cf82aafa9338a27c82e60/Neo4j.Driver/Neo4j.Driver/Internal/Routing/LoadBalancer.cs#L227

peternavr avatar Jun 22 '17 05:06 peternavr

@thessem et.al : Any update on the HA issue ? I'm trying to use this driver with a HA Neo4j instance, and i'm getting this precise error you mentioned:

Internal Error(messages.FailureMessage):messages.FailureMessage{Metadata:map[string]interface {}{"code":"Neo.ClientError.Cluster.NotALeader", "message":"No write operations are allowed directly on this database. Writes must pass through the leader. The role of this server is: FOLLOWER"}}

Good work with the driver, btw !

Sudmota avatar Dec 21 '17 14:12 Sudmota