aboutsummaryrefslogtreecommitdiffstats
path: root/searchcore/src/tests/proton/documentdb/document_subdbs/document_subdbs_test.cpp
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-11-22 11:15:54 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2021-11-22 11:15:54 +0000
commita45cc32c6f1b20b7307c42a779bbfae38414347d (patch)
tree9aa0f4f204a454089d943582da74374b024ddd47 /searchcore/src/tests/proton/documentdb/document_subdbs/document_subdbs_test.cpp
parent13cf4fcddbef3547196d803cfddb9ef9764cfecb (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.cpp18
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());