-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
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).
- is related to
-
WT-18104 Improve handling of transactions with massive amount of dirty content
-
- Closed
-