We are support customers…
We’re seeing some integration issues (under load) where our clients are not seeing a response for 16s. Doing some performance analysis, we’ve got the following trace:
CouchbaseClient.KeyExists:unknown (0ms self time, 16349 ms total time)
CouchbaseClient.Observe:unknown (0ms self time, 16349 ms total time)
ObserveHandler.HandleMasterOnlyInCache:unknown (0ms self time, 16349 ms total time)
CouchbaseNode.ExecuteObserveOperation:unknown (0ms self time, 16349 ms total time)
CouchbaseNode.Execute:unknown (0ms self time, 16349 ms total time)
SocketPool.Release:unknown (0ms self time, 16349 ms total time)
Monitor.Enter:unknown (16349ms self time, 16349 ms total time)
It appears that the code is stuck on the same lock as SocketPool.Dispose() which does a loop of 2^1 + … + 2^13 = 16.382s. That likely explains the time. In any event, it looks like that SocketPool should never be Dispose() in normal processing - our service is not going down.