aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-11-12 20:23:03 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2021-11-12 20:23:03 +0000
commite834424c31fd2dc6c3268cf3b374c5731108cd6b (patch)
tree26d864079c9e5d18bced32b1b8a4bb44dee89b56
parent854ecccb1ea9fbe2d1e1be4e9bbe234b6c1e60f7 (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.cpp31
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)