diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2021-11-22 11:15:54 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2021-11-22 11:15:54 +0000 |
commit | a45cc32c6f1b20b7307c42a779bbfae38414347d (patch) | |
tree | 9aa0f4f204a454089d943582da74374b024ddd47 /searchcore/src/tests/proton/documentdb/document_subdbs/document_subdbs_test.cpp | |
parent | 13cf4fcddbef3547196d803cfddb9ef9764cfecb (diff) |
Get callback when setBucketStateCalculator has completed.
Diffstat (limited to 'searchcore/src/tests/proton/documentdb/document_subdbs/document_subdbs_test.cpp')
-rw-r--r-- | searchcore/src/tests/proton/documentdb/document_subdbs/document_subdbs_test.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/searchcore/src/tests/proton/documentdb/document_subdbs/document_subdbs_test.cpp b/searchcore/src/tests/proton/documentdb/document_subdbs/document_subdbs_test.cpp index 144e37d9461..a9faeceab48 100644 --- a/searchcore/src/tests/proton/documentdb/document_subdbs/document_subdbs_test.cpp +++ b/searchcore/src/tests/proton/documentdb/document_subdbs/document_subdbs_test.cpp @@ -316,6 +316,11 @@ struct FixtureBase _writeService.master().execute(makeLambdaTask([this]() { _subDb.close(); })); _writeService.shutdown(); } + void setBucketStateCalculator(const std::shared_ptr<IBucketStateCalculator> & calc) { + vespalib::Gate gate; + _subDb.setBucketStateCalculator(calc, std::make_shared<vespalib::GateCallback>(gate)); + gate.await(); + } template <typename FunctionType> void runInMasterAndSync(FunctionType func) { proton::test::runInMasterAndSync(_writeService, func); @@ -336,7 +341,7 @@ struct FixtureBase runInMasterAndSync([&]() { performReconfig(serialNum, reconfigSchema, reconfigConfigDir); }); } void performReconfig(SerialNum serialNum, const Schema &reconfigSchema, const vespalib::string &reconfigConfigDir) { - MyConfigSnapshot::UP newCfg(new MyConfigSnapshot(reconfigSchema, reconfigConfigDir)); + auto newCfg = std::make_unique<MyConfigSnapshot>(reconfigSchema, reconfigConfigDir); DocumentDBConfig::ComparisonResult cmpResult; cmpResult.attributesChanged = true; cmpResult.documenttypesChanged = true; @@ -564,14 +569,14 @@ TEST_F("require that subdb reflect retirement", FastAccessFixture) auto calc = std::make_shared<proton::test::BucketStateCalculator>(); calc->setNodeRetired(true); - f._subDb.setBucketStateCalculator(calc); + f.setBucketStateCalculator(calc); EXPECT_TRUE(f._subDb.isNodeRetired()); auto retired_cfg = f._subDb.computeCompactionStrategy(cfg); EXPECT_TRUE(cfg != retired_cfg); EXPECT_TRUE(search::CompactionStrategy(0.5, 0.5) == retired_cfg); calc->setNodeRetired(false); - f._subDb.setBucketStateCalculator(calc); + f.setBucketStateCalculator(calc); EXPECT_FALSE(f._subDb.isNodeRetired()); unretired_cfg = f._subDb.computeCompactionStrategy(cfg); EXPECT_TRUE(cfg == unretired_cfg); @@ -587,21 +592,18 @@ TEST_F("require that attribute compaction config reflect retirement", FastAccess auto calc = std::make_shared<proton::test::BucketStateCalculator>(); calc->setNodeRetired(true); - f._subDb.setBucketStateCalculator(calc); - f._writeService.sync_all_executors(); + f.setBucketStateCalculator(calc); guard = f._subDb.getAttributeManager()->getAttribute("attr1"); EXPECT_EQUAL(retired_cfg, (*guard)->getConfig().getCompactionStrategy()); EXPECT_EQUAL(retired_cfg, dynamic_cast<const proton::DocumentMetaStore &>(f._subDb.getDocumentMetaStoreContext().get()).getConfig().getCompactionStrategy()); f.basicReconfig(10); - f._writeService.sync_all_executors(); guard = f._subDb.getAttributeManager()->getAttribute("attr1"); EXPECT_EQUAL(retired_cfg, (*guard)->getConfig().getCompactionStrategy()); EXPECT_EQUAL(retired_cfg, dynamic_cast<const proton::DocumentMetaStore &>(f._subDb.getDocumentMetaStoreContext().get()).getConfig().getCompactionStrategy()); calc->setNodeRetired(false); - f._subDb.setBucketStateCalculator(calc); - f._writeService.sync_all_executors(); + f.setBucketStateCalculator(calc); guard = f._subDb.getAttributeManager()->getAttribute("attr1"); EXPECT_EQUAL(default_cfg, (*guard)->getConfig().getCompactionStrategy()); EXPECT_EQUAL(default_cfg, dynamic_cast<const proton::DocumentMetaStore &>(f._subDb.getDocumentMetaStoreContext().get()).getConfig().getCompactionStrategy()); |