Details
-
Bug
-
Resolution: Fixed
-
Critical
-
3.3.6, 3.4.0
-
None
-
None
-
0
-
SDK45, SDK49
Description
In an attempt to avoid racing multiple GetCid calls, CouchbaseCollection.PopulateCidAsync uses Lazy<Task<uint?>> to lazily-execute and cache the result.
However, if that GetCidAsync call throws an exception (such as a TimeoutException), then the next time that Lazy<Task> is awaited, it throws the same exception again.
Attachments
For Gerrit Dashboard: NCBC-3296 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
182744,4 | NCBC-3296: PopulateCID caches Exceptions forever | master | couchbase-net-client | Status: MERGED | +2 | +1 |