Uploaded image for project: 'C++ Couchbase Client'
  1. C++ Couchbase Client
  2. CXXCBC-263

Uses of retry_delay() in transactions can be problematic

    XMLWordPrintable

Details

    Description

      We call this to get a default constant delay before retrying something, typically.   This leads to issues as we often are calling something recursively, and will eventually blow our stack.   Initially this issue cropped up, and we instead made the pause a fraction (1/100) of the expiry, to limit this to 100 retries max.   However, this is (a) arbitrary, and (b) now causing issues in Jenkins (maybe always was).   

      Lets instead work around this by not calling recursively, and instead redesigning around a pattern that loops, is tail recursive, etc...

       

      Note - I will lower that number to 50, just to get Jenkins stable, in the meantime.

      Attachments

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

        Activity

          People

            avsej Sergey Avseyev
            david.kelly David Kelly (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes