Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-8290

Adding a new API to the session to return the rollback reason

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • None
    • WT11.2.0, WT11.0.0, 5.3.0, 5.2.0-rc5, 5.0.15
    • None
    • None
    • 13
    • Storage - Ra 2022-01-10
    • v5.0

    Description

      When an uncommitted transaction becomes so large that it must be rolled back, WiredTiger returns a WT_ROLLBACK error code. MongoDB propagates this to users as a WriteConflict. For MongoDB users of multi-document transactions, this is confusing and hard for us to explain because the transaction was actually using too much memory.
      EDIT: Additional use of this feature is to permit MongoDB code logic to handle this type of rollback differently from others. In particular, we want to add some complexity to the retry-mechanism based on the reason for the rollback.

      We should consider either using a different error code or updating the WiredTiger API to include some context in the error message. I'm interested in the "oldest pinned transaction ID rolled back for eviction", which I believe is the event that triggers a rollback when the dirty cache limit is hit.

      Attachments

        Issue Links

          Activity

            People

              luke.pearson@mongodb.com Luke Pearson
              louis.williams@mongodb.com Louis Williams
              Votes:
              0 Vote for this issue
              Watchers:
              22 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: