diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2019-07-25 11:40:19 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2019-07-25 12:38:03 +0200 |
commit | f5a0262e4fce2c7362480d6e2404a3d835aae76f (patch) | |
tree | 83a2d93a3f4506a6e5e7f96928c22afcdaf833d3 /container-search | |
parent | 29a0aa78101c9bb16dd2386438721e8128362f06 (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.java | 6 | ||||
-rw-r--r-- | container-search/src/main/resources/configdefinitions/query-profiles.def | 4 |
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 |