summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@yahoo-inc.com>2017-05-12 13:51:55 +0000
committerTor Egge <Tor.Egge@yahoo-inc.com>2017-05-12 13:51:55 +0000
commit48d7085a182f5862ae1a92453eaa2b7fc9b74dbc (patch)
tree6523de4d30b9287120d2de1e29358b84e7935736
parent2a5786cf9666e2c7993ca3c8252c25dddd6e74c7 (diff)
For metrics purposes, track attribute shrink flushtarget as attribute flush.
-rw-r--r--searchcore/src/tests/proton/metrics/documentdb_job_trackers/documentdb_job_trackers_test.cpp5
-rw-r--r--searchcore/src/vespa/searchcore/proton/metrics/documentdb_job_trackers.cpp2
2 files changed, 6 insertions, 1 deletions
diff --git a/searchcore/src/tests/proton/metrics/documentdb_job_trackers/documentdb_job_trackers_test.cpp b/searchcore/src/tests/proton/metrics/documentdb_job_trackers/documentdb_job_trackers_test.cpp
index 3269fe84dcd..12a3ae7fe5e 100644
--- a/searchcore/src/tests/proton/metrics/documentdb_job_trackers/documentdb_job_trackers_test.cpp
+++ b/searchcore/src/tests/proton/metrics/documentdb_job_trackers/documentdb_job_trackers_test.cpp
@@ -22,6 +22,7 @@ struct MFT : public test::DummyFlushTarget
};
struct AttributeFlush : public MFT { AttributeFlush() : MFT(FTT::SYNC, FTC::ATTRIBUTE) {} };
+struct AttributeShrink : public MFT { AttributeShrink() : MFT(FTT::GC, FTC::ATTRIBUTE) {} };
struct MemoryIndexFlush : public MFT { MemoryIndexFlush() : MFT(FTT::FLUSH, FTC::INDEX) {} };
struct DiskIndexFusion : public MFT { DiskIndexFusion() : MFT(FTT::GC, FTC::INDEX) {} };
struct DocStoreFlush : public MFT { DocStoreFlush() : MFT(FTT::SYNC, FTC::DOCUMENT_STORE) {} };
@@ -93,14 +94,16 @@ TEST_F("require that known flush targets are tracked", Fixture)
input.push_back(IFlushTarget::SP(new DiskIndexFusion()));
input.push_back(IFlushTarget::SP(new DocStoreFlush()));
input.push_back(IFlushTarget::SP(new DocStoreCompaction()));
+ input.push_back(IFlushTarget::SP(new AttributeShrink()));
IFlushTarget::List output = f._trackers.trackFlushTargets(input);
- EXPECT_EQUAL(5u, output.size());
+ EXPECT_EQUAL(6u, output.size());
EXPECT_TRUE(assertFlushTarget(f._trackers.getAttributeFlush(), *output[0]));
EXPECT_TRUE(assertFlushTarget(f._trackers.getMemoryIndexFlush(), *output[1]));
EXPECT_TRUE(assertFlushTarget(f._trackers.getDiskIndexFusion(), *output[2]));
EXPECT_TRUE(assertFlushTarget(f._trackers.getDocumentStoreFlush(), *output[3]));
EXPECT_TRUE(assertFlushTarget(f._trackers.getDocumentStoreCompact(), *output[4]));
+ EXPECT_TRUE(assertFlushTarget(f._trackers.getAttributeFlush(), *output[5]));
}
TEST_F("require that un-known flush targets are not tracked", Fixture)
diff --git a/searchcore/src/vespa/searchcore/proton/metrics/documentdb_job_trackers.cpp b/searchcore/src/vespa/searchcore/proton/metrics/documentdb_job_trackers.cpp
index ce6152fe464..c4564567d86 100644
--- a/searchcore/src/vespa/searchcore/proton/metrics/documentdb_job_trackers.cpp
+++ b/searchcore/src/vespa/searchcore/proton/metrics/documentdb_job_trackers.cpp
@@ -48,6 +48,8 @@ DocumentDBJobTrackers::trackFlushTargets(const IFlushTarget::List &flushTargets)
for (const auto &ft : flushTargets) {
if (ft->getComponent() == FTC::ATTRIBUTE && ft->getType() == FTT::SYNC) {
retval.push_back(trackFlushTarget(_attributeFlush, ft));
+ } else if (ft->getComponent() == FTC::ATTRIBUTE && ft->getType() == FTT::GC) {
+ retval.push_back(trackFlushTarget(_attributeFlush, ft));
} else if (ft->getComponent() == FTC::INDEX && ft->getType() == FTT::FLUSH) {
retval.push_back(trackFlushTarget(_memoryIndexFlush, ft));
} else if (ft->getComponent() == FTC::INDEX && ft->getType() == FTT::GC) {