aboutsummaryrefslogtreecommitdiffstats
path: root/searchcorespi/src/vespa/searchcorespi/index/indexmaintainer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'searchcorespi/src/vespa/searchcorespi/index/indexmaintainer.cpp')
-rw-r--r--searchcorespi/src/vespa/searchcorespi/index/indexmaintainer.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/searchcorespi/src/vespa/searchcorespi/index/indexmaintainer.cpp b/searchcorespi/src/vespa/searchcorespi/index/indexmaintainer.cpp
index d58d0ab4ad6..74848e93411 100644
--- a/searchcorespi/src/vespa/searchcorespi/index/indexmaintainer.cpp
+++ b/searchcorespi/src/vespa/searchcorespi/index/indexmaintainer.cpp
@@ -1183,15 +1183,17 @@ IndexMaintainer::putDocument(uint32_t lid, const Document &doc, SerialNum serial
}
void
-IndexMaintainer::removeDocument(uint32_t lid, SerialNum serialNum)
+IndexMaintainer::removeDocuments(LidVector lids, SerialNum serialNum)
{
assert(_ctx.getThreadingService().index().isCurrentThread());
LockGuard lock(_index_update_lock);
- _current_index->removeDocument(lid);
- _selector->setSource(lid, _current_index_id);
- _source_list->setSource(lid);
- ++_source_selector_changes;
+ for (uint32_t lid : lids) {
+ _selector->setSource(lid, _current_index_id);
+ _source_list->setSource(lid);
+ }
+ _source_selector_changes += lids.size();
_current_serial_num = serialNum;
+ _current_index->removeDocuments(std::move(lids));
}
void