diff options
author | Jon Bratseth <bratseth@oath.com> | 2021-10-09 11:41:25 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-09 11:41:25 +0200 |
commit | 49acaa81c697eb979c67b4c7b816142c4b2b9e93 (patch) | |
tree | 0f4d24ab9132b74c8b94d08f0ae658e7414bdf0e /container-search/src/main/java/com | |
parent | 82014c284b0e51f059b801c9e97ba0de442edbfe (diff) | |
parent | f5d36485496d2cffb14962e30224dbf0f7a05f52 (diff) |
Merge pull request #19483 from vespa-engine/arnej/continue-grouping-if-errors
Continue grouping even when there is an error
Diffstat (limited to 'container-search/src/main/java/com')
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/grouping/vespa/GroupingExecutor.java | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/grouping/vespa/GroupingExecutor.java b/container-search/src/main/java/com/yahoo/search/grouping/vespa/GroupingExecutor.java index d34d5594ef7..21db47908a8 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/vespa/GroupingExecutor.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/vespa/GroupingExecutor.java @@ -210,7 +210,6 @@ public class GroupingExecutor extends Searcher { // Perform multi-pass query to complete all grouping requests. Item origRoot = query.getModel().getQueryTree().getRoot(); - int prePassErrors = query.errors().size(); Result ret = null; Item baseRoot = origRoot; if (lastPass > 0) { @@ -247,20 +246,15 @@ public class GroupingExecutor extends Searcher { } setGroupingList(query, passList); Result passResult = execution.search(query); - if (passResult.hits().getError() != null) { - if (firstPass) { - if (passResult.hits().getErrorHit().errors().size() > prePassErrors || - passResult.hits().getErrorHit().errors().size() == 0) { - return passResult; - } - } else { - return passResult; - } - } Map<Integer, Grouping> passGroupingMap = mergeGroupingResults(passResult); mergeGroupingMaps(groupingMap, passGroupingMap); if (firstPass) { ret = passResult; + } else { + ErrorMessage err = passResult.hits().getError(); + if (err != null) { + ret.hits().addError(err); + } } } if (log.isLoggable(Level.FINE)) { |