Uploaded image for project: 'Distributed Transactions C++'
  1. Distributed Transactions C++
  2. TXNCXX-215

Get operation failure forces transaction rollback

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Major
    • 2.0.0
    • None
    • None
    • 1
    • Unknown

    Description

      Performing a GET operation which fails with doc-not-found leads to the transaction rolling back on finalize, even if the error is caught by the application rather than being propagated back to the lambda.

      Javascript test code:

          await H.co.insert(testDocRem, { foo: 'bar' })
       
          await H.c.transactions().run(async (attempt) => {
            const remDoc = await attempt.get(H.co, testDocRem)
            await attempt.remove(remDoc)
       
            try {
              await attempt.get(H.co, testDocRem)
            } catch (e) {
              // ignore the doc-not-found
            }
          })
       
      // transaction retries over and over until it times out
      

      Attachments

        Issue Links

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

          Activity

            People

              brett19 Brett Lawson
              brett19 Brett Lawson
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty