summaryrefslogtreecommitdiffstats
path: root/container-search
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2019-07-25 11:40:19 +0200
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2019-07-25 12:38:03 +0200
commitf5a0262e4fce2c7362480d6e2404a3d835aae76f (patch)
tree83a2d93a3f4506a6e5e7f96928c22afcdaf833d3 /container-search
parent29a0aa78101c9bb16dd2386438721e8128362f06 (diff)
Introduce feature flag for enabling grouping session cache
Diffstat (limited to 'container-search')
-rw-r--r--container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java6
-rw-r--r--container-search/src/main/resources/configdefinitions/query-profiles.def4
2 files changed, 9 insertions, 1 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java b/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java
index 8e654bf34b8..45303a3c646 100644
--- a/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java
+++ b/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java
@@ -99,6 +99,8 @@ public class SearchHandler extends LoggingRequestHandler {
private final ExecutionFactory executionFactory;
+ private final boolean enableGroupingSessionCache;
+
private final class MeanConnections implements Callback {
@Override
@@ -122,6 +124,7 @@ public class SearchHandler extends LoggingRequestHandler {
ExecutionFactory executionFactory) {
super(executor, accessLog, metric, true);
log.log(LogLevel.DEBUG, "SearchHandler.init " + System.identityHashCode(this));
+ this.enableGroupingSessionCache = queryProfileConfig.enableGroupingSessionCache();
QueryProfileRegistry queryProfileRegistry = QueryProfileConfigurer.createFromConfig(queryProfileConfig);
this.queryProfileRegistry = queryProfileRegistry.compile();
this.executionFactory = executionFactory;
@@ -232,6 +235,9 @@ public class SearchHandler extends LoggingRequestHandler {
CompiledQueryProfile queryProfile = queryProfileRegistry.findQueryProfile(queryProfileName);
Query query = new Query(request, requestMap, queryProfile);
+ if (enableGroupingSessionCache) {
+ query.setGroupingSessionCache(true);
+ }
boolean benchmarking = VespaHeaders.benchmarkOutput(request);
boolean benchmarkCoverage = VespaHeaders.benchmarkCoverage(benchmarking, request.getJDiscRequest().headers());
diff --git a/container-search/src/main/resources/configdefinitions/query-profiles.def b/container-search/src/main/resources/configdefinitions/query-profiles.def
index 20fcbda0d72..11966cae8ce 100644
--- a/container-search/src/main/resources/configdefinitions/query-profiles.def
+++ b/container-search/src/main/resources/configdefinitions/query-profiles.def
@@ -86,7 +86,9 @@ queryprofiletype[].field[].mandatory bool default=false
# A space-separated list of aliases of this field name. Aliases are case insensitive
queryprofiletype[].field[].alias string default=""
-
+# Temporary feature flag for enabling grouping session cache by default
+# TODO Remove me once grouping session cache rollout is complete and cache is enabled by default
+enableGroupingSessionCache bool default=false