summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2022-02-16 17:35:42 +0100
committerGitHub <noreply@github.com>2022-02-16 17:35:42 +0100
commit2f6ed10a4f7c4dcea1d1aebec5c781f60199fc65 (patch)
tree627e873420acc9219224d107daadae3ee5fe3e0c
parent155ff762e84235177b7d7b7dd429b207c454415c (diff)
parent0b3f7e7f9cb1a8bc4f1e7423e77c225762d56da7 (diff)
Merge pull request #21230 from vespa-engine/arnej/detect-unknown-summary-class
detect and debug log invalid summary class
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/fastsearch/DocsumDefinitionSet.java5
-rw-r--r--container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcProtobufFillInvoker.java5
2 files changed, 10 insertions, 0 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/fastsearch/DocsumDefinitionSet.java b/container-search/src/main/java/com/yahoo/prelude/fastsearch/DocsumDefinitionSet.java
index df87de2a12b..f0303615e3d 100644
--- a/container-search/src/main/java/com/yahoo/prelude/fastsearch/DocsumDefinitionSet.java
+++ b/container-search/src/main/java/com/yahoo/prelude/fastsearch/DocsumDefinitionSet.java
@@ -57,6 +57,11 @@ public final class DocsumDefinitionSet {
return ds;
}
+ /** Do we have a summary definition with the given name */
+ public boolean hasDocsum(String summaryClass) {
+ return definitionsByName.containsKey(summaryClass);
+ }
+
/**
* Makes data available for decoding for the given hit.
*
diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcProtobufFillInvoker.java b/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcProtobufFillInvoker.java
index fe74180cad3..7a5ef94069d 100644
--- a/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcProtobufFillInvoker.java
+++ b/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcProtobufFillInvoker.java
@@ -65,6 +65,11 @@ public class RpcProtobufFillInvoker extends FillInvoker {
@Override
protected void sendFillRequest(Result result, String summaryClass) {
+ if (! documentDb.getDocsumDefinitionSet().hasDocsum(summaryClass)) {
+ // TODO Vespa 8:
+ // throw new IllegalArgumentException("invalid summary="+summaryClass);
+ log.fine("invalid presentation.summary="+summaryClass);
+ }
ListMap<Integer, FastHit> hitsByNode = hitsByNode(result);
result.getQuery().trace(false, 5, "Sending ", hitsByNode.size(), " summary fetch requests with jrt/protobuf");