summaryrefslogtreecommitdiffstats
path: root/streamingvisitors
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2022-08-31 14:18:07 +0200
committerTor Egge <Tor.Egge@online.no>2022-08-31 14:18:07 +0200
commitab14707260c6f15d792287926891d9d9fe64d305 (patch)
tree3c52e7777d07f188ee9c5a7a3244812e0512d4b3 /streamingvisitors
parentc8e01e3df9a9fcc910cceef07f060c6e9f13d2f8 (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.cpp22
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 {