Hello -
We’re getting really flaky performance from our new Couchbase 3.0 server when trying to do a basic upsert using the .NET SDK. The code is pretty simple:
this.CheckBucketConnection();
var itemDictionary = new Dictionary<string, T>();
foreach (var item in items)
{
itemDictionary[item.DocId] = item;
}
var upsert = this.TenantBucket.Upsert<T>(itemDictionary);
if (upsert.Any(or => !or.Value.Success))
{
var failed = from f in upsert
where !f.Value.Success
select new { Message = f.Value.Message, Ex = f.Value.Exception, Key = f.Key };
throw new IOException(string.Format("store operation failed for {0} items: {1}", failed.Count(), failed.First().Message));
}
The error we’re getting is from the SDK:
Error storing Visits: store operation failed for 55 items: The node 191.239.12.1
10:11210 that the key was mapped to is either down or unreachable. The SDK will
continue to try to connect every 1000 seconds. Until it can connect every operation routed to it will fail with this exception. Sleeping for 15 seconds before retry.
The server is online and healthy, and the app node (executing the C#) and the Couchbase server are all in the Azure cloud (so shouldn’t have any weird proxy or firewall issues). What’s interesting is that it seems to run fine until Couchbase begins attempting an indexing operation. As soon as the server starts building an index, the upsert craps out.
Any ideas? We feel like we’re missing a crucial detail on either A) how to configure our CB server, or B) how to use the SDK.
Thanks,
- Jeff