From 6ea0120be943bf3393659cc0f5a647c181bd99b9 Mon Sep 17 00:00:00 2001 From: Geir Storli Date: Mon, 29 May 2017 14:27:11 +0000 Subject: Add shrink lid space flush target for document store. --- .../document_subdbs/document_subdbs_test.cpp | 6 ++- .../tests/proton/documentdb/documentdb_test.cpp | 49 ++++++++++++---------- 2 files changed, 32 insertions(+), 23 deletions(-) (limited to 'searchcore/src/tests/proton') 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 7f7a87c8084..633f7929a6d 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 @@ -682,19 +682,20 @@ assertTarget(const vespalib::string &name, TEST_F("require that flush targets can be retrieved", FastAccessFixture) { IFlushTarget::List targets = getFlushTargets(f); - EXPECT_EQUAL(6u, targets.size()); + EXPECT_EQUAL(7u, targets.size()); EXPECT_EQUAL("subdb.attribute.flush.attr1", targets[0]->getName()); EXPECT_EQUAL("subdb.attribute.shrink.attr1", targets[1]->getName()); EXPECT_EQUAL("subdb.documentmetastore.flush", targets[2]->getName()); EXPECT_EQUAL("subdb.documentmetastore.shrink", targets[3]->getName()); EXPECT_EQUAL("subdb.summary.compact", targets[4]->getName()); EXPECT_EQUAL("subdb.summary.flush", targets[5]->getName()); + EXPECT_EQUAL("subdb.summary.shrink", targets[6]->getName()); } TEST_F("require that flush targets can be retrieved", SearchableFixture) { IFlushTarget::List targets = getFlushTargets(f); - EXPECT_EQUAL(8u, targets.size()); + EXPECT_EQUAL(9u, targets.size()); EXPECT_TRUE(assertTarget("subdb.attribute.flush.attr1", FType::SYNC, FComponent::ATTRIBUTE, *targets[0])); EXPECT_TRUE(assertTarget("subdb.attribute.shrink.attr1", FType::GC, FComponent::ATTRIBUTE, *targets[1])); EXPECT_TRUE(assertTarget("subdb.documentmetastore.flush", FType::SYNC, FComponent::ATTRIBUTE, *targets[2])); @@ -703,6 +704,7 @@ TEST_F("require that flush targets can be retrieved", SearchableFixture) EXPECT_TRUE(assertTarget("subdb.memoryindex.fusion", FType::GC, FComponent::INDEX, *targets[5])); EXPECT_TRUE(assertTarget("subdb.summary.compact", FType::GC, FComponent::DOCUMENT_STORE, *targets[6])); EXPECT_TRUE(assertTarget("subdb.summary.flush", FType::SYNC, FComponent::DOCUMENT_STORE, *targets[7])); + EXPECT_TRUE(assertTarget("subdb.summary.shrink", FType::GC, FComponent::DOCUMENT_STORE, *targets[8])); } TEST_F("require that only fast-access attributes are instantiated", FastAccessOnlyFixture) diff --git a/searchcore/src/tests/proton/documentdb/documentdb_test.cpp b/searchcore/src/tests/proton/documentdb/documentdb_test.cpp index c191b7dc4b5..5b550f9c49d 100644 --- a/searchcore/src/tests/proton/documentdb/documentdb_test.cpp +++ b/searchcore/src/tests/proton/documentdb/documentdb_test.cpp @@ -1,47 +1,48 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +#include #include #include #include #include #include #include +#include +#include #include #include +#include #include -#include #include +#include +#include +#include +#include #include #include #include #include #include -#include -#include -#include -#include #include #include #include -#include -#include -#include #include +#include using document::DocumentType; using document::DocumentTypeRepo; -using search::index::Schema; -using search::transactionlog::TransLogServer; +using document::DocumenttypesConfig; +using namespace cloud::config::filedistribution; using namespace proton; using namespace vespalib::slime; -using namespace cloud::config::filedistribution; using search::TuneFileDocumentDB; -using document::DocumenttypesConfig; using search::index::DummyFileHeaderContext; +using search::index::Schema; +using search::transactionlog::TransLogServer; +using searchcorespi::IFlushTarget; using searchcorespi::index::IndexFlushTarget; using vespa::config::search::core::ProtonConfig; using vespalib::Slime; -using searchcorespi::IFlushTarget; namespace { @@ -146,7 +147,7 @@ extractRealFlushTarget(const IFlushTarget *target) } TEST_F("requireThatIndexFlushTargetIsUsed", Fixture) { - std::vector targets = f._db->getFlushTargets(); + auto targets = f._db->getFlushTargets(); ASSERT_TRUE(!targets.empty()); const IndexFlushTarget *index = 0; for (size_t i = 0; i < targets.size(); ++i) { @@ -176,7 +177,7 @@ size_t getNumTargets(const std::vector & targets) } TEST_F("requireThatFlushTargetsAreNamedBySubDocumentDB", Fixture) { - std::vector targets = f._db->getFlushTargets(); + auto targets = f._db->getFlushTargets(); ASSERT_TRUE(!targets.empty()); for (const IFlushTarget::SP & target : f._db->getFlushTargets()) { vespalib::string name = target->getName(); @@ -187,7 +188,7 @@ TEST_F("requireThatFlushTargetsAreNamedBySubDocumentDB", Fixture) { } TEST_F("requireThatAttributeFlushTargetsAreUsed", Fixture) { - std::vector targets = f._db->getFlushTargets(); + auto targets = f._db->getFlushTargets(); ASSERT_TRUE(!targets.empty()); size_t numAttrs = getNumTargets(targets); // attr1 defined in attributes.cfg @@ -195,21 +196,27 @@ TEST_F("requireThatAttributeFlushTargetsAreUsed", Fixture) { } TEST_F("requireThatDocumentMetaStoreFlushTargetIsUsed", Fixture) { - std::vector targets = f._db->getFlushTargets(); + auto targets = f._db->getFlushTargets(); ASSERT_TRUE(!targets.empty()); - size_t numMetaStores = - getNumTargets(targets); - // document meta store + size_t numMetaStores = getNumTargets(targets); EXPECT_EQUAL(3u, numMetaStores); } TEST_F("requireThatSummaryFlushTargetsIsUsed", Fixture) { - std::vector targets = f._db->getFlushTargets(); + auto targets = f._db->getFlushTargets(); ASSERT_TRUE(!targets.empty()); size_t num = getNumTargets(targets); EXPECT_EQUAL(3u, num); } +TEST_F("require that shrink lid space flush targets are created", Fixture) { + auto targets = f._db->getFlushTargets(); + ASSERT_TRUE(!targets.empty()); + size_t num = getNumTargets(targets); + // 1x attribute, 3x document meta store, 3x document store + EXPECT_EQUAL(1u + 3u + 3u, num); +} + TEST_F("requireThatCorrectStatusIsReported", Fixture) { StatusReport::UP report(f._db->reportStatus()); EXPECT_EQUAL("documentdb:typea", report->getComponent()); -- cgit v1.2.3