summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-09-10 09:14:01 +0200
committerGitHub <noreply@github.com>2020-09-10 09:14:01 +0200
commit4ea99060d59413de4e37c81bc4fd77401d8fb9be (patch)
tree316a4009844ea11dc9d359ab2a7347831daa1b4f
parent10349344c212707b6eec358b82326baf6a251065 (diff)
parentb8dfc7183bc76f3a70d7dc1855550fb662ee2020 (diff)
Merge pull request #14343 from vespa-engine/toregge/compact-document-metastore-lid-space-when-replay-is-done
Compact document meta store lid space when replay is done
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp b/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp
index 97d7e96b5a0..07ae2adba99 100644
--- a/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp
@@ -179,8 +179,12 @@ void
StoreOnlyDocSubDB::onReplayDone()
{
_dms->constructFreeList();
+ auto stats = _dms->getLidUsageStats();
+ uint32_t docIdLimit = stats.getHighestUsedLid() + 1;
+ assert(docIdLimit <= _dms->getCommittedDocIdLimit());
+ _dms->compactLidSpace(docIdLimit);
+ _dms->unblockShrinkLidSpace();
_dms->shrinkLidSpace();
- uint32_t docIdLimit = _dms->getCommittedDocIdLimit();
auto &docStore = _rSummaryMgr->getBackingStore();
std::promise<void> promise;
auto future = promise.get_future();