diff options
author | Olli Virtanen <olli.virtanen@oath.com> | 2019-03-11 14:46:03 +0100 |
---|---|---|
committer | Olli Virtanen <olli.virtanen@oath.com> | 2019-03-11 14:46:03 +0100 |
commit | 91dd5bc9eb95701aeb3110fd402257084634aa73 (patch) | |
tree | 810957124a05c39547e92c6899c3ed5df690531c /container-search/src/main/java/com/yahoo/search/result/Coverage.java | |
parent | 511cdf2bea96cb39c7aee78b720fb9f05ba0a780 (diff) |
Protobuf over jrt support in search
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/result/Coverage.java')
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/result/Coverage.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/result/Coverage.java b/container-search/src/main/java/com/yahoo/search/result/Coverage.java index 25829b70b5e..30ea8f53fc0 100644 --- a/container-search/src/main/java/com/yahoo/search/result/Coverage.java +++ b/container-search/src/main/java/com/yahoo/search/result/Coverage.java @@ -1,6 +1,7 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.result; +import ai.vespa.searchlib.searchprotocol.protobuf.Search; import com.google.common.annotations.Beta; /** @@ -41,4 +42,19 @@ public class Coverage extends com.yahoo.container.handler.Coverage { public Coverage setDegradedReason(int degradedReason) { this.degradedReason = degradedReason; return this; } public Coverage setNodesTried(int nodesTried) { super.setNodesTried(nodesTried); return this; } + + public static Coverage fromProtobuf(Search.Reply protobuf) { + var coverage = new Coverage(protobuf.getCoverageDocs(), protobuf.getActiveDocs(), 1); + coverage.setNodesTried(1) + .setSoonActive(protobuf.getSoonActiveDocs()); + + int degradedReason = 0; + if (protobuf.getDegradedByMatchPhase()) + degradedReason |= Coverage.DEGRADED_BY_MATCH_PHASE; + if (protobuf.getDegradedBySoftTimeout()) + degradedReason |= Coverage.DEGRADED_BY_TIMEOUT; + coverage.setDegradedReason(degradedReason); + + return coverage; + } } |