summaryrefslogtreecommitdiff
path: root/src/mongo/db/storage/wiredtiger/wiredtiger_record_store_oplog_stones.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/storage/wiredtiger/wiredtiger_record_store_oplog_stones.h')
-rw-r--r--src/mongo/db/storage/wiredtiger/wiredtiger_record_store_oplog_stones.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_record_store_oplog_stones.h b/src/mongo/db/storage/wiredtiger/wiredtiger_record_store_oplog_stones.h
index 15950177e74..0dcb844f1d0 100644
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_record_store_oplog_stones.h
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_record_store_oplog_stones.h
@@ -57,7 +57,15 @@ public:
void kill();
- bool hasExcessStones_inlock() const;
+ bool hasExcessStones_inlock() const {
+ int64_t total_bytes = 0;
+ for (std::deque<OplogStones::Stone>::const_iterator it = _stones.begin();
+ it != _stones.end();
+ ++it) {
+ total_bytes += it->bytes;
+ }
+ return total_bytes > _rs->cappedMaxSize();
+ }
void awaitHasExcessStonesOrDead();