summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2022-03-01 14:37:04 +0100
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2022-03-01 14:37:04 +0100
commitf8f24d65c8f0de9f7b4e913285d6efbb96d34954 (patch)
treeb97643dbd32f4f8af3ce000baaf61f1b9773cabc /searchlib
parentc8efa8ed2003e9032adad3b4b3acf912800f7247 (diff)
Merge grouping results incrementally in search invoker
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/main/java/com/yahoo/searchlib/aggregation/Grouping.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/Grouping.java b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/Grouping.java
index 25b3cb18ff9..c88a567c559 100644
--- a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/Grouping.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/Grouping.java
@@ -46,6 +46,8 @@ public class Grouping extends Identifiable {
// Actual root group, does not require level details.
private Group root = new Group();
+ private boolean postMergeCompleted = false;
+
/**
* <p>Constructs an empty result node. <b>NOTE:</b> This instance is broken until non-optional member data is
* set.</p>
@@ -78,7 +80,9 @@ public class Grouping extends Identifiable {
* that might have changes due to the merge.</p>
*/
public void postMerge() {
+ if (postMergeCompleted) return;
root.postMerge(groupingLevels, firstLevel, 0);
+ postMergeCompleted = true;
}
/**