32 #include <boost/optional.hpp> 35 #include "mongo/platform/atomic_word.h" 36 #include "mongo/stdx/condition_variable.h" 37 #include "mongo/stdx/mutex.h" 41 class OperationContext;
61 int64_t total_bytes = 0;
62 for (std::deque<OplogStones::Stone>::const_iterator
it =
_stones.begin();
65 total_bytes +=
it->bytes;
79 int64_t bytesInserted,
80 RecordId highestInserted,
81 int64_t countInserted);
88 RecordId firstRemovedId);
91 void adjust(int64_t maxSize);
102 stdx::lock_guard<stdx::mutex> lk(
_mutex);
123 int64_t estRecordsPerStone,
124 int64_t estBytesPerStone);
bool hasExcessStones_inlock() const
Definition: wiredtiger_record_store_oplog_stones.h:60
void _calculateStonesBySampling(OperationContext *opCtx, int64_t estRecordsPerStone, int64_t estBytesPerStone)
Definition: wiredtiger_record_store.cpp:356
void popOldestStone()
Definition: wiredtiger_record_store.cpp:217
void adjust(int64_t maxSize)
Definition: wiredtiger_record_store.cpp:445
stdx::mutex _oplogReclaimMutex
Definition: wiredtiger_record_store_oplog_stones.h:132
Definition: wiredtiger_record_store.h:73
void createNewStoneIfNeeded(RecordId lastRecord)
Definition: wiredtiger_record_store.cpp:222
boost::optional< OplogStones::Stone > peekOldestStoneIfNeeded() const
Definition: wiredtiger_record_store.cpp:207
Copyright (C) 2014 MongoDB Inc.
Definition: bson_collection_catalog_entry.cpp:38
AtomicInt64 _currentBytes
Definition: wiredtiger_record_store_oplog_stones.h:144
int64_t currentRecords() const
Definition: wiredtiger_record_store_oplog_stones.h:110
int64_t records
Definition: wiredtiger_record_store_oplog_stones.h:49
RecordId lastRecord
Definition: wiredtiger_record_store_oplog_stones.h:51
int64_t cappedMaxSize() const
Definition: wiredtiger_record_store.cpp:780
OplogStones(OperationContext *opCtx, WiredTigerRecordStore *rs)
Definition: wiredtiger_record_store.cpp:158
Definition: wiredtiger_record_store.cpp:140
int64_t bytes
Definition: wiredtiger_record_store_oplog_stones.h:50
stdx::mutex _mutex
Definition: wiredtiger_record_store_oplog_stones.h:146
std::unique_ptr< RecordStore > rs
Definition: kv_engine_test_timestamps.cpp:207
size_t numStones() const
Definition: wiredtiger_record_store_oplog_stones.h:101
void clearStonesOnCommit(OperationContext *opCtx)
Definition: wiredtiger_record_store.cpp:258
Definition: wiredtiger_record_store_oplog_stones.h:46
IndexSet::const_iterator it
Definition: ephemeral_for_test_btree_impl.cpp:458
void updateCurrentStoneAfterInsertOnCommit(OperationContext *opCtx, int64_t bytesInserted, RecordId highestInserted, int64_t countInserted)
Definition: wiredtiger_record_store.cpp:249
void _pokeReclaimThreadIfNeeded()
Definition: wiredtiger_record_store.cpp:439
bool isDead()
Definition: wiredtiger_record_store.cpp:178
stdx::condition_variable _oplogReclaimCv
Definition: wiredtiger_record_store_oplog_stones.h:133
void _calculateStones(OperationContext *opCtx, size_t size)
Definition: wiredtiger_record_store.cpp:301
void _calculateStonesByScanning(OperationContext *opCtx)
Definition: wiredtiger_record_store.cpp:331
static const uint64_t kRandomSamplesPerStone
Definition: wiredtiger_record_store_oplog_stones.h:128
std::deque< OplogStones::Stone > _stones
Definition: wiredtiger_record_store_oplog_stones.h:147
Definition: wiredtiger_record_store_oplog_stones.h:48
int64_t currentBytes() const
Definition: wiredtiger_record_store_oplog_stones.h:106
void updateStonesAfterCappedTruncateAfter(int64_t recordsRemoved, int64_t bytesRemoved, RecordId firstRemovedId)
Definition: wiredtiger_record_store.cpp:262
void awaitHasExcessStonesOrDead()
Definition: wiredtiger_record_store.cpp:191
void setMinBytesPerStone(int64_t size)
Definition: wiredtiger_record_store.cpp:291
Definition: wiredtiger_record_store.cpp:109
RecordId firstRecord
Definition: wiredtiger_record_store_oplog_stones.h:95
Collection *const OperationContext *const opCtx
Definition: collection_impl.cpp:80
WiredTigerRecordStore * _rs
Definition: wiredtiger_record_store_oplog_stones.h:130
void kill()
Definition: wiredtiger_record_store.cpp:183
int64_t _minBytesPerStone
Definition: wiredtiger_record_store_oplog_stones.h:141
AtomicInt64 _currentRecords
Definition: wiredtiger_record_store_oplog_stones.h:143
bool _isDead
Definition: wiredtiger_record_store_oplog_stones.h:137