Details
-
Bug
-
Resolution: Fixed
-
Critical
-
None
-
Security Level: Public
-
None
-
CBG Sprint 18, CBG Sprint 19
-
5
Description
The update operations seen in bucket_gocb.go use a naive for loop, with breaks only for unrecoverable errors, or successful updates.
- func (bucket CouchbaseBucketGoCB) Update
- func (bucket CouchbaseBucketGoCB) WriteUpdate
func (bucket CouchbaseBucketGoCB) WriteUpdateWithXattr
In the case of network timeout errors, these for loops can retry forever with no backoff mechanism, which has the potential to make these network timeout issues even more likely to occur.