In the recent WT-18006 change, ignore_cache_size is now used to have transaction proceed regardless of cache level. Server has a _noEvictionAfterCommitOrRollback which we apply to certain transactions dynamically. They participate in eviction normally for like read/write, but not when they commit/abort. Previously they were able to reconfigure for a WT_SESSION, but the change prevented reconfigure at the session level while transaction is running.
{"t":{"$date":"2026-09-06T23:08:52.467+00:00"},"s":"F", "c":"WT", "id":11131000,"ctx":"main","msg":"WiredTiger dump error log","attr":{"message":"Error at src/include/txn_inline.h:35: \"EINVAL\" failed with Invalid argument (22)\n"}}
{"t":{"$date":"2026-09-06T23:08:52.467+00:00"},"s":"F", "c":"WT", "id":11131000,"ctx":"main","msg":"WiredTiger dump error log","attr":{"message":"Error at src/txn/txn.c:946: \"__wt_txn_context_check(session, false)\" failed with Invalid argument (22)\n"}}
{"t":{"$date":"2026-09-06T23:08:52.467+00:00"},"s":"F", "c":"ASSERT", "id":23083, "ctx":"main","msg":"Invariant failure","attr":{"expr":"reconfigure(newConfig.c_str())","error":"BadValue: 22: Invalid argument - not permitted in a running transaction","location":"src/mongo/db/storage/wiredtiger/wiredtiger_session.cpp:238:56:void mongo::WiredTigerSession::modifyConfiguration(const std::string &, std::string)"}}[9:12 AM]#12 0x0000b96b1fb5eb63 in mongo::WiredTigerSession::modifyConfiguration(std::string const&, std::string)
at src/mongo/db/storage/wiredtiger/wiredtiger_session.cpp:238:5
236: _undoConfigStrings.emplace(std::move(undoConfig));
237: }
> 238: invariantWTOK(reconfigure(newConfig.c_str()), *this);
^
239: }
#13 0x0000b96b1fb49b97 in _txnClose
at src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.cpp:518:23
516: // bonus-eviction phase. Ignoring the cache size skips that phase, so the call cannot be
517: // held up behind eviction.
> 518: _session->modifyConfiguration("ignore_cache_size=true", "ignore_cache_size=false");
^
519: }
We need to modify the setting to allow this to be changed while a transaction is ongoing.
- is depended on by
-
SERVER-134283 cache_max_wait_ms=1 does not ignore cache usage
-
- Closed
-
- is related to
-
WT-18006 Replace cache_max_wait_ms bypass with explicit option
-
- Closed
-