Description
Apologies if this turns out to be a matter of incorrect SDK usage. However, I have code like this:
var connectionString = $"couchbase://{servers[0]}";
var clusterOptionsServers = servers.Select(s => $"couchbase://{s}").ToArray();
var options = new ClusterOptions()
.WithServers(clusterOptionsServers)
.WithCredentials(username, password)
.WithBucket(_configBucketName);
_cluster = new Cluster(connectionString, options);
WithServers takes a "params string[]" and I am passing in an array of strings to the 4 cluster servers that we have. My expectation is that is one of them is down, it will open a connection on one of the others. However, whatever is passed into 'WithServers' seems to be ignored in favor of 'connectionString'. And if 'connectionString' is invalid or points to a server that is not running, there is no attempt to cycle through the server list provided in the ClusterOptions.WithServers.