diff options
author | Tor Egge <Tor.Egge@online.no> | 2022-08-31 14:18:07 +0200 |
---|---|---|
committer | Tor Egge <Tor.Egge@online.no> | 2022-08-31 14:18:07 +0200 |
commit | ab14707260c6f15d792287926891d9d9fe64d305 (patch) | |
tree | 3c52e7777d07f188ee9c5a7a3244812e0512d4b3 /streamingvisitors | |
parent | c8e01e3df9a9fcc910cceef07f060c6e9f13d2f8 (diff) |
Fail if docsum field writer using attribute vector is configured for
streaming search.
Diffstat (limited to 'streamingvisitors')
-rw-r--r-- | streamingvisitors/src/vespa/searchvisitor/searchvisitor.cpp | 22 |
1 files changed, 3 insertions, 19 deletions
diff --git a/streamingvisitors/src/vespa/searchvisitor/searchvisitor.cpp b/streamingvisitors/src/vespa/searchvisitor/searchvisitor.cpp index 898860bdf73..4973db909e4 100644 --- a/streamingvisitors/src/vespa/searchvisitor/searchvisitor.cpp +++ b/streamingvisitors/src/vespa/searchvisitor/searchvisitor.cpp @@ -703,25 +703,9 @@ SearchVisitor::setupDocsumObjects() for (const IAttributeVector * v : ds->_attributes) { if (v != nullptr) { vespalib::string name(v->getName()); - vsm::FieldIdT fid = _fieldSearchSpecMap.nameIdMap().fieldNo(name); - if ( fid != StringFieldIdTMap::npos ) { - AttributeGuard::UP attr(_attrMan.getAttribute(name)); - if (attr->valid()) { - size_t index(_attributeFields.size()); - for (size_t j(0); j < index; j++) { - if (_attributeFields[j]._field == fid) { - index = j; - } - } - if (index == _attributeFields.size()) { - _attributeFields.emplace_back(fid, std::move(attr)); - } - } else { - LOG(warning, "Attribute '%s' is not valid", name.c_str()); - } - } else { - LOG(warning, "No field with name '%s'. Odd ....", name.c_str()); - } + auto msg = vespalib::make_string("Illegal config: Docsum field writer using attribute vector '%s' configured for streaming search", name.c_str()); + LOG(error, "%s", msg.c_str()); + throw vespalib::IllegalStateException(msg); } } } else { |