diff options
Diffstat (limited to 'searchcore/src/vespa/searchcore/proton/server/searchable_doc_subdb_configurer.cpp')
-rw-r--r-- | searchcore/src/vespa/searchcore/proton/server/searchable_doc_subdb_configurer.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/server/searchable_doc_subdb_configurer.cpp b/searchcore/src/vespa/searchcore/proton/server/searchable_doc_subdb_configurer.cpp index 2263876c04e..f3b83e08546 100644 --- a/searchcore/src/vespa/searchcore/proton/server/searchable_doc_subdb_configurer.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/searchable_doc_subdb_configurer.cpp @@ -158,11 +158,12 @@ reconfigure(const DocumentDBConfig &newConfig, const DocumentDBConfig &oldConfig, const ReconfigParams ¶ms, IDocumentDBReferenceResolver &resolver, - const DocumentSubDBReconfig& prepared_reconfig) + const DocumentSubDBReconfig& prepared_reconfig, + search::SerialNum serial_num) { assert(!params.shouldAttributeManagerChange()); AttributeCollectionSpec attrSpec(AttributeCollectionSpec::AttributeList(), 0, 0); - reconfigure(newConfig, oldConfig, std::move(attrSpec), params, resolver, prepared_reconfig); + reconfigure(newConfig, oldConfig, std::move(attrSpec), params, resolver, prepared_reconfig, serial_num); } namespace { @@ -195,12 +196,14 @@ SearchableDocSubDBConfigurer::reconfigure(const DocumentDBConfig &newConfig, AttributeCollectionSpec && attrSpec, const ReconfigParams ¶ms, IDocumentDBReferenceResolver &resolver, - const DocumentSubDBReconfig& prepared_reconfig) + const DocumentSubDBReconfig& prepared_reconfig, + search::SerialNum serial_num) { bool shouldMatchViewChange = prepared_reconfig.has_matchers_changed(); bool shouldSearchViewChange = false; bool shouldFeedViewChange = params.shouldSchemaChange(); - search::SerialNum currentSerialNum = attrSpec.getCurrentSerialNum(); + auto& attr_spec_serial_num = attrSpec.getCurrentSerialNum(); + assert(!attr_spec_serial_num.has_value() || attr_spec_serial_num.value() == serial_num); SearchView::SP searchView = _searchView.get(); auto matchers = prepared_reconfig.matchers(); IReprocessingInitializer::UP initializer; @@ -219,7 +222,7 @@ SearchableDocSubDBConfigurer::reconfigure(const DocumentDBConfig &newConfig, attrWriter = newAttrWriter; shouldFeedViewChange = true; initializer = createAttributeReprocessingInitializer(newConfig, newAttrMgr, oldConfig, oldAttrMgr, - _subDbName, currentSerialNum); + _subDbName, serial_num); } else if (params.shouldAttributeWriterChange()) { attrWriter = std::make_shared<AttributeWriter>(attrMgr); shouldFeedViewChange = true; |