summaryrefslogtreecommitdiff
path: root/src/mongo/db/storage
diff options
context:
space:
mode:
authorYu Jin Kang Park <yujin.kang@mongodb.com>2022-03-23 11:14:57 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-03-23 11:57:13 +0000
commit8c30569f58cbed7a0c48300b311a8d44539a05b4 (patch)
tree3bfcb2048d562c5e350e57d4165c4ee133b8e2a5 /src/mongo/db/storage
parent2fbc7152cdccd1bcfb8a932d7cb7c8bcfaf59560 (diff)
downloadmongo-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.cpp3
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.