From 0b3f7e7f9cb1a8bc4f1e7423e77c225762d56da7 Mon Sep 17 00:00:00 2001 From: Arne H Juul Date: Wed, 16 Feb 2022 15:54:27 +0000 Subject: detect and debug log invalid summary class --- .../main/java/com/yahoo/prelude/fastsearch/DocsumDefinitionSet.java | 5 +++++ .../java/com/yahoo/search/dispatch/rpc/RpcProtobufFillInvoker.java | 5 +++++ 2 files changed, 10 insertions(+) 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 hitsByNode = hitsByNode(result); result.getQuery().trace(false, 5, "Sending ", hitsByNode.size(), " summary fetch requests with jrt/protobuf"); -- cgit v1.2.3