summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2023-02-07 14:40:35 +0100
committerTor Egge <Tor.Egge@online.no>2023-02-07 14:40:35 +0100
commit1fb56a093caf4369189e0d00ff3e406d674ec420 (patch)
tree9db1ac9cc6e29999749d8bd46daf5b1cd937e29b
parent22998a859cdee573fc14fd9cb18572f9c7cd2498 (diff)
Add comments describing when attribute vector create serial number is set.
-rw-r--r--searchcore/src/vespa/searchcore/proton/attribute/attributemanager.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/attribute/attributemanager.cpp b/searchcore/src/vespa/searchcore/proton/attribute/attributemanager.cpp
index 636cb992b25..dd6cc1bdb85 100644
--- a/searchcore/src/vespa/searchcore/proton/attribute/attributemanager.cpp
+++ b/searchcore/src/vespa/searchcore/proton/attribute/attributemanager.cpp
@@ -327,10 +327,20 @@ AttributeManager::addAttribute(AttributeSpec && spec, uint64_t serialNum)
void
AttributeManager::addInitializedAttributes(const std::vector<AttributeInitializerResult> &attributes, uint32_t docid_limit, SerialNum serial_num)
{
+ /*
+ * Called (indirectly) by
+ * DocumentSubDBCollection::complete_prepare_reconfig to complete
+ * setup of new attribute manager.
+ */
for (const auto &result : attributes) {
assert(result);
auto attr = result.getAttribute();
if (attr->getCreateSerialNum() == 0) {
+ /*
+ * The attribute vector is empty (not loaded from disk)
+ * and has been added as part of live reconfig. Make it
+ * ready for use by setting size and create serial num.
+ */
AttributeManager::padAttribute(*attr, docid_limit);
attr->setCreateSerialNum(serial_num);
}