Recognize WT_TXN_TOO_LARGE_FOR_CACHE as a cache-pressure rollback reason

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 9.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Storage Engines - Transactions
    • Fully Compatible
    • SE Transactions - 2026-08-14
    • 2
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      WiredTiger ticket WT-18104 adds a new sub-level error, WT_TXN_TOO_LARGE_FOR_CACHE, returned when a transaction is rolled back because its own dirty content alone exceeds the eviction updates or dirty trigger (as opposed to the existing WT_OLDEST_FOR_EVICTION/WT_CACHE_OVERFLOW reasons, which cover general cache pressure not necessarily caused by the rolled-back transaction itself).

      wiredtiger_error_util.cpp's rollbackReasonWasCachePressure() needs to recognize this new sub-error alongside the existing ones so that a transaction rolled back this way is still correctly classified as TransactionTooLargeForCache (via throwAppropriateException), rather than falling through to a plain WriteConflict.

      This must land together with (or after) the WiredTiger vendor bump that includes WT-18104 – vendoring the WT change alone, without this fix, causes an unrecognized sub-error to fall through to WriteConflict, which we've confirmed can make at least jstests/noPassthrough/txns_cache_errors/transaction_too_large_for_cache*.js fail (the test's retry loop never observes TransactionTooLargeForCache and times out via assert.soon).

            Assignee:
            Haribabu Kommi
            Reporter:
            Haribabu Kommi
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: