diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2021-11-12 20:23:03 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2021-11-12 20:23:03 +0000 |
commit | e834424c31fd2dc6c3268cf3b374c5731108cd6b (patch) | |
tree | 26d864079c9e5d18bced32b1b8a4bb44dee89b56 | |
parent | 854ecccb1ea9fbe2d1e1be4e9bbe234b6c1e60f7 (diff) |
Add test that compaction config is reflected properly in document metastore and attributes.
-rw-r--r-- | searchcore/src/tests/proton/documentdb/document_subdbs/document_subdbs_test.cpp | 31 |
1 files changed, 31 insertions, 0 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 bd356973841..5e42231d866 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 @@ -580,6 +580,37 @@ TEST_F("require that subdb reflect retirement", FastAccessFixture) EXPECT_TRUE(cfg == unretired_cfg); } +TEST_F("require that attribute compaction config reflect retirement", FastAccessFixture) { + search::CompactionStrategy default_cfg(0.05, 0.2); + search::CompactionStrategy retired_cfg(0.5, 0.5); + + auto 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()); + + auto calc = std::make_shared<proton::test::BucketStateCalculator>(); + calc->setNodeRetired(true); + f._subDb.setBucketStateCalculator(calc); + f._writeService.sync(); + 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(); + 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(); + 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()); + +} + template <typename Fixture> void requireThatReconfiguredAttributesAreAccessibleViaFeedView(Fixture &f) |