High Availability
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!
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.
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 ;)
@mpmlj - That's a good point, I'll reach out to my contact at Neo and see what he says.
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.
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
@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 !