diff options
author | Yu Jin Kang Park <yujin.kang@mongodb.com> | 2022-03-23 11:14:57 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-03-23 11:57:13 +0000 |
commit | 8c30569f58cbed7a0c48300b311a8d44539a05b4 (patch) | |
tree | 3bfcb2048d562c5e350e57d4165c4ee133b8e2a5 /src/mongo/db/storage | |
parent | 2fbc7152cdccd1bcfb8a932d7cb7c8bcfaf59560 (diff) | |
download | mongo-8c30569f58cbed7a0c48300b311a8d44539a05b4.tar.gz |
SERVER-64498: Add WT_ROLLBACK check in addition to WT_CACHE_FULL
Diffstat (limited to 'src/mongo/db/storage')
-rw-r--r-- | src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp index 8cb5ce919ad..4666a7b3a50 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp @@ -1950,7 +1950,8 @@ void WiredTigerRecordStore::_initNextIdIfNeeded(OperationContext* opCtx) { // largest_key API returns the largest key in the table regardless of visibility. This ensures // we don't re-use RecordIds that are not visible. int ret = cursor->largest_key(cursor); - if (ret == WT_CACHE_FULL) { + // TODO (SERVER-64461): Remove WT_CACHE_FULL error check after WT-8767 + if (ret == WT_CACHE_FULL || ret == WT_ROLLBACK) { // Force the caller to rollback its transaction if we can't make progess with eviction. // TODO (SERVER-63620): Convert this to a different error code that is distinguishable from // a true write conflict. |