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.
Environment
None
Gerrit Reviews
None
Release Notes Description
None
Activity
Show:
Fixed
Pinned fields
Click on the next to a field label to start pinning.
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.