summaryrefslogtreecommitdiff
path: root/src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.cpp')
-rw-r--r--src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.cpp
index f9d9751d464..8d6e087a86f 100644
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.cpp
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.cpp
@@ -58,6 +58,8 @@ MONGO_FAIL_POINT_DEFINE(doUntimestampedWritesForIdempotencyTests);
} // namespace
+AtomicWord<std::int64_t> snapshotTooOldErrorCount{0};
+
using Section = WiredTigerOperationStats::Section;
std::map<int, std::pair<StringData, Section>> WiredTigerOperationStats::_statNameMap = {
@@ -531,6 +533,9 @@ void WiredTigerRecoveryUnit::_txnOpen() {
auto status = txnOpen.setReadSnapshot(_readAtTimestamp);
if (!status.isOK() && status.code() == ErrorCodes::BadValue) {
+ // SnapshotTooOld errors indicate that PIT ops are failing to find an available
+ // snapshot at their specified atClusterTime.
+ snapshotTooOldErrorCount.addAndFetch(1);
uasserted(ErrorCodes::SnapshotTooOld,
str::stream() << "Read timestamp " << _readAtTimestamp.toString()
<< " is older than the oldest available timestamp.");