The client wrongfully assumed that a connection string like esdb+discover://{ip}:{port} was a single node connection. While wrong it doesn't really matter if the selected node was the leader. If it had another state, a node leader exception would have been raised and the client should reconnect to the leader of the cluster anyway.
The other issue is far more annoying because it lead the client to rule out the leader node from the gossip seed because the client code wrongly assumed that node was from a previous connection attempt that failed.
Fixed: Fix cluster discovery process.
This patch addresses two issues:
The client wrongfully assumed that a connection string like
esdb+discover://{ip}:{port}
was a single node connection. While wrong it doesn't really matter if the selected node was the leader. If it had another state, a node leader exception would have been raised and the client should reconnect to the leader of the cluster anyway.The other issue is far more annoying because it lead the client to rule out the leader node from the gossip seed because the client code wrongly assumed that node was from a previous connection attempt that failed.