Uploaded image for project: 'Couchbase Gateway'
  1. Couchbase Gateway
  2. CBG-284

Retry loops for bucket update ops have no backoff and no max retry count

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Critical
    • 2.6.0
    • None
    • SyncGateway
    • 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.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              ben.brooks Ben Brooks
              ben.brooks Ben Brooks
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty