summaryrefslogtreecommitdiff
path: root/src/mongo/db
diff options
context:
space:
mode:
authorBenety Goh <benety@mongodb.com>2018-10-25 21:19:27 -0400
committerBenety Goh <benety@mongodb.com>2018-10-25 21:19:41 -0400
commite609158748c93133c1da6a6388525bb9fc0bc8f1 (patch)
tree50944eae50f3edd07935946f2b19efe01089f566 /src/mongo/db
parent03bd5fdab0e54256be3f19d9f827e0944a04fa5b (diff)
downloadmongo-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.cpp37
-rw-r--r--src/mongo/db/storage/record_store.h15
-rw-r--r--src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp5
-rw-r--r--src/mongo/db/storage/wiredtiger/wiredtiger_record_store.h5
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;