diff options
author | Benety Goh <benety@mongodb.com> | 2018-10-25 21:19:27 -0400 |
---|---|---|
committer | Benety Goh <benety@mongodb.com> | 2018-10-25 21:19:41 -0400 |
commit | e609158748c93133c1da6a6388525bb9fc0bc8f1 (patch) | |
tree | 50944eae50f3edd07935946f2b19efe01089f566 /src/mongo/db | |
parent | 03bd5fdab0e54256be3f19d9f827e0944a04fa5b (diff) | |
download | mongo-e609158748c93133c1da6a6388525bb9fc0bc8f1.tar.gz |
SERVER-37589 RecordStore::compact() stops accepting RecordStoreCompactAdaptor, CompactOptions, and CompactStats
Diffstat (limited to 'src/mongo/db')
-rw-r--r-- | src/mongo/db/catalog/collection_compact.cpp | 37 | ||||
-rw-r--r-- | src/mongo/db/storage/record_store.h | 15 | ||||
-rw-r--r-- | src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp | 5 | ||||
-rw-r--r-- | src/mongo/db/storage/wiredtiger/wiredtiger_record_store.h | 5 |
4 files changed, 7 insertions, 55 deletions
diff --git a/src/mongo/db/catalog/collection_compact.cpp b/src/mongo/db/catalog/collection_compact.cpp index 89d840d5d47..7390aaf9067 100644 --- a/src/mongo/db/catalog/collection_compact.cpp +++ b/src/mongo/db/catalog/collection_compact.cpp @@ -43,35 +43,6 @@ namespace mongo { -namespace { -class MyCompactAdaptor : public RecordStoreCompactAdaptor { -public: - MyCompactAdaptor(Collection* collection, MultiIndexBlock* indexBlock) - - : _collection(collection), _multiIndexBlock(indexBlock) {} - - virtual bool isDataValid(const RecordData& recData) { - // Use the latest BSON validation version. We allow compaction of collections containing - // decimal data even if decimal is disabled. - return recData.toBson().valid(BSONVersion::kLatest); - } - - virtual size_t dataSize(const RecordData& recData) { - return recData.toBson().objsize(); - } - - virtual void inserted(const RecordData& recData, const RecordId& newLocation) { - _multiIndexBlock->insert(recData.toBson(), newLocation).transitional_ignore(); - } - -private: - Collection* _collection; - - MultiIndexBlock* _multiIndexBlock; -}; -} - - StatusWith<CompactStats> compactCollection(OperationContext* opCtx, Collection* collection, const CompactOptions* compactOptions) { @@ -90,7 +61,7 @@ StatusWith<CompactStats> compactCollection(OperationContext* opCtx, if (recordStore->compactsInPlace()) { CompactStats stats; - Status status = recordStore->compact(opCtx, nullptr, compactOptions, &stats); + Status status = recordStore->compact(opCtx); if (!status.isOK()) return StatusWith<CompactStats>(status); @@ -163,9 +134,9 @@ StatusWith<CompactStats> compactCollection(OperationContext* opCtx, if (!status.isOK()) return StatusWith<CompactStats>(status); - MyCompactAdaptor adaptor(collection, &indexer); - - status = recordStore->compact(opCtx, &adaptor, compactOptions, &stats); + // The MMAPv1 storage engine used to add documents to indexer through the + // RecordStoreCompactAdaptor interface. + status = recordStore->compact(opCtx); if (!status.isOK()) return StatusWith<CompactStats>(status); diff --git a/src/mongo/db/storage/record_store.h b/src/mongo/db/storage/record_store.h index 325a196df40..36c09860fbf 100644 --- a/src/mongo/db/storage/record_store.h +++ b/src/mongo/db/storage/record_store.h @@ -50,7 +50,6 @@ struct CompactStats; class MAdvise; class OperationContext; -class RecordStoreCompactAdaptor; class RecordStore; struct ValidateResults; @@ -496,12 +495,8 @@ public: * Attempt to reduce the storage space used by this RecordStore. * * Only called if compactSupported() returns true. - * No RecordStoreCompactAdaptor will be passed if compactsInPlace() returns true. */ - virtual Status compact(OperationContext* opCtx, - RecordStoreCompactAdaptor* adaptor, - const CompactOptions* options, - CompactStats* stats) { + virtual Status compact(OperationContext* opCtx) { MONGO_UNREACHABLE; } @@ -610,14 +605,6 @@ protected: std::string _ns; }; -class RecordStoreCompactAdaptor { -public: - virtual ~RecordStoreCompactAdaptor() {} - virtual bool isDataValid(const RecordData& recData) = 0; - virtual size_t dataSize(const RecordData& recData) = 0; - virtual void inserted(const RecordData& recData, const RecordId& newLocation) = 0; -}; - struct ValidateResults { ValidateResults() { valid = true; diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp index b70ad80f0bf..48d3248e2dc 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp @@ -1491,10 +1491,7 @@ Status WiredTigerRecordStore::truncate(OperationContext* opCtx) { return Status::OK(); } -Status WiredTigerRecordStore::compact(OperationContext* opCtx, - RecordStoreCompactAdaptor* adaptor, - const CompactOptions* options, - CompactStats* stats) { +Status WiredTigerRecordStore::compact(OperationContext* opCtx) { dassert(opCtx->lockState()->isWriteLocked()); WiredTigerSessionCache* cache = WiredTigerRecoveryUnit::get(opCtx)->getSessionCache(); diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.h b/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.h index 5e2e98e13c9..6fdfbd4f9d9 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.h +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.h @@ -190,10 +190,7 @@ public: virtual Timestamp getPinnedOplog() const final; - virtual Status compact(OperationContext* opCtx, - RecordStoreCompactAdaptor* adaptor, - const CompactOptions* options, - CompactStats* stats); + virtual Status compact(OperationContext* opCtx) final; virtual bool isInRecordIdOrder() const override { return true; |