summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-02-07 21:35:49 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2021-02-07 21:35:49 +0000
commit828cf79bcbd8bba5798d4eeef45e4d56388d2dba (patch)
tree009cd3afb914031e8f1e359ccd71111f9b5f4fcc
parent310ba5b0887926959270d602f908b0abec2ec55c (diff)
To ensure that lid stats is sampled after everything has been completed compaction must happen in 2 stages.
First it must reach inSync, then it must rescheduled once more in the master thread. Then all movement is visible in the master thread.
-rw-r--r--searchcore/src/tests/proton/documentdb/lid_space_compaction/lid_space_jobtest.cpp1
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_job_base.cpp1
2 files changed, 2 insertions, 0 deletions
diff --git a/searchcore/src/tests/proton/documentdb/lid_space_compaction/lid_space_jobtest.cpp b/searchcore/src/tests/proton/documentdb/lid_space_compaction/lid_space_jobtest.cpp
index 84579eb9c9e..21bd96552b8 100644
--- a/searchcore/src/tests/proton/documentdb/lid_space_compaction/lid_space_jobtest.cpp
+++ b/searchcore/src/tests/proton/documentdb/lid_space_compaction/lid_space_jobtest.cpp
@@ -111,6 +111,7 @@ JobTestBase::endScan() {
JobTestBase &
JobTestBase::compact() {
+ EXPECT_FALSE(run());
EXPECT_TRUE(run());
return *this;
}
diff --git a/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_job_base.cpp b/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_job_base.cpp
index 3987282ef34..bf93ceca6d8 100644
--- a/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_job_base.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_job_base.cpp
@@ -138,6 +138,7 @@ LidSpaceCompactionJobBase::run()
} else {
_scanItr = IDocumentScanIterator::UP();
_shouldCompactLidSpace = true;
+ return false;
}
}