CidLock may be incorrectly released
Description
Environment
None
Gerrit Reviews
None
Release Notes Description
None
Activity
Show:
Richard Ponton October 13, 2021 at 10:11 PM
I think the infinite loop scenario I fixed in interacted with this problem.
When GetCid failed, triggering the infinite loop (because the failure called RefreshCollectionid, which calls GetCid), then we'd end up in a situation where the GetCid lock would always timeout and never get released. The incorrect Release was hiding the GetCid infinite loop, to an extent.
Fixing the infinite loop means this fix now works as intended.
Jeffry Morris October 11, 2021 at 6:19 PM
This was reverted as it causes a regression with Transactions. Can update the ticket with the details, please?
Fixed
Pinned fields
Click on the next to a field label to start pinning.
Details
Details
PagerDuty
PagerDuty Incident
PagerDuty

PagerDuty Incident
Sentry
Linked Issues
Sentry
Linked Issues
Zendesk Support
Linked Tickets
Zendesk Support

Linked Tickets
Created September 27, 2021 at 11:49 AM
Updated October 13, 2021 at 10:11 PM
Resolved October 13, 2021 at 10:08 PM
It's possible that a timeout waiting for the CidLock may result in incorrectly releasing the CidLock, despite the fact that the lock was not taken by this thread.
https://github.com/couchbase/couchbase-net-client/blob/c8580dbcad2156095fd527afe84fe3634e61fceb/src/Couchbase/KeyValue/CouchbaseCollection.cs#L1050