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.