From 3144a31e4950a9b95b378e49652316e6ae6ef2e2 Mon Sep 17 00:00:00 2001 From: eharry Date: Sun, 21 Mar 2021 15:51:19 +0000 Subject: [PATCH] fix build c++ test issue --- SConscript | 2 +- src/rocks_engine.cpp | 2 ++ src/rocks_engine.h | 5 +++++ src/rocks_index_test.cpp | 10 ++++++---- src/rocks_record_store_test.cpp | 4 ++-- src/rocks_recovery_unit_test.cpp | 2 +- 6 files changed, 17 insertions(+), 8 deletions(-) diff --git a/SConscript b/SConscript index 5b9a870c..9e83a064 100644 --- a/SConscript +++ b/SConscript @@ -30,6 +30,7 @@ env.Library( 'src/rocks_begin_transaction_block.cpp', 'src/rocks_prepare_conflict.cpp', 'src/mongo_rate_limiter_checker.cpp', + 'src/rocks_parameters.cpp', ], LIBDEPS= [ '$BUILD_DIR/mongo/base', @@ -60,7 +61,6 @@ env.Library( source= [ 'src/rocks_init.cpp', 'src/rocks_options_init.cpp', - 'src/rocks_parameters.cpp', 'src/rocks_record_store_mongod.cpp', 'src/rocks_server_status.cpp', ], diff --git a/src/rocks_engine.cpp b/src/rocks_engine.cpp index 048300ba..72f8fc14 100644 --- a/src/rocks_engine.cpp +++ b/src/rocks_engine.cpp @@ -552,6 +552,8 @@ namespace mongo { _counterManager->sync(); _counterManager.reset(); _compactionScheduler.reset(); + _defaultCf.reset(); + _oplogCf.reset(); _db.reset(); } diff --git a/src/rocks_engine.h b/src/rocks_engine.h index 3d37f1dd..3de63d0a 100644 --- a/src/rocks_engine.h +++ b/src/rocks_engine.h @@ -211,6 +211,11 @@ namespace mongo { bool canRecoverToStableTimestamp() const; std::uint64_t getStableTimestamp() const; std::uint64_t getInitialDataTimestamp() const; + rocksdb::ColumnFamilyHandle* getDefaultCf_ForTest() const { return _defaultCf.get(); } + rocksdb::ColumnFamilyHandle* getOplogCf_ForTest() const { return _oplogCf.get(); } + rocksdb::ColumnFamilyHandle* getCf_ForTest(const std::string& ns) const { + return NamespaceString::oplog(ns)? getOplogCf_ForTest() : getDefaultCf_ForTest(); + } private: Status _createIdent(StringData ident, BSONObjBuilder* configBuilder); diff --git a/src/rocks_index_test.cpp b/src/rocks_index_test.cpp index 57d89253..5a71bd57 100644 --- a/src/rocks_index_test.cpp +++ b/src/rocks_index_test.cpp @@ -68,11 +68,13 @@ namespace mongo { RocksIndexBase::generateConfig(&configBuilder, 3, IndexDescriptor::IndexVersion::kV2); if (unique) { - return stdx::make_unique(_engine.getDB(), "prefix", "ident", + return stdx::make_unique(_engine.getDB(), _engine.getDefaultCf_ForTest(), + "prefix", "ident", _order, configBuilder.obj(), "test.rocks", "testIndex"); } else { - return stdx::make_unique(_engine.getDB(), "prefix", "ident", + return stdx::make_unique(_engine.getDB(), _engine.getDefaultCf_ForTest(), + "prefix", "ident", _order, configBuilder.obj()); } } @@ -81,8 +83,8 @@ namespace mongo { return stdx::make_unique( _engine.getDB(), _engine.getOplogManager(), checked_cast(_engine.getSnapshotManager()), - _engine.getCounterManager(), _engine.getCompactionScheduler(), - _engine.getDurabilityManager(), true /* durale */, _engine); + _engine.getCompactionScheduler(), + _engine.getDurabilityManager(), true /* durale */, &_engine); } private: diff --git a/src/rocks_record_store_test.cpp b/src/rocks_record_store_test.cpp index 96998fee..aecb3a66 100644 --- a/src/rocks_record_store_test.cpp +++ b/src/rocks_record_store_test.cpp @@ -89,7 +89,7 @@ namespace mongo { std::unique_ptr newNonCappedRecordStore(const std::string& ns) { RocksRecoveryUnit* ru = dynamic_cast(_engine.newRecoveryUnit()); OperationContextNoop opCtx(ru); - return stdx::make_unique(&_engine, &opCtx, ns, "1", "prefix"); + return stdx::make_unique(&_engine, _engine.getCf_ForTest(ns), &opCtx, ns, "1", "prefix"); } std::unique_ptr newCappedRecordStore(int64_t cappedMaxSize, @@ -102,7 +102,7 @@ namespace mongo { int64_t cappedMaxDocs) { RocksRecoveryUnit* ru = dynamic_cast(_engine.newRecoveryUnit()); OperationContextNoop opCtx(ru); - return stdx::make_unique(&_engine, &opCtx, ns, "1", "prefix", + return stdx::make_unique(&_engine, _engine.getCf_ForTest(ns), &opCtx, ns, "1", "prefix", true /* isCapped */, cappedMaxSize, cappedMaxDocs); } diff --git a/src/rocks_recovery_unit_test.cpp b/src/rocks_recovery_unit_test.cpp index 9b29549a..20c1edfd 100644 --- a/src/rocks_recovery_unit_test.cpp +++ b/src/rocks_recovery_unit_test.cpp @@ -89,7 +89,7 @@ namespace mongo { virtual std::unique_ptr createRecordStore(OperationContext* opCtx, const std::string& ns) final { - return stdx::make_unique(&_engine, opCtx, ns, "1", "prefix"); + return stdx::make_unique(&_engine, _engine.getCf_ForTest(ns), opCtx, ns, "1", "prefix"); } private: