summaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@broadpark.no>2020-09-09 18:49:35 +0200
committerTor Egge <Tor.Egge@broadpark.no>2020-09-09 18:49:35 +0200
commitb8dfc7183bc76f3a70d7dc1855550fb662ee2020 (patch)
tree212343090c304fb825816a3d459ceb43f01b732d /searchcore
parentcd920b47574fc54bb621d4bfafd045c6a3edbf17 (diff)
Compact document meta store lid space when replay is done.
Diffstat (limited to 'searchcore')
-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();