>From Glenn Galvizo <ggalv...@uci.edu>: Attention is currently required from: Sushrut Borkar, Glenn Galvizo. Glenn Galvizo has uploaded a new patch set (#15) to the change originally created by Sushrut Borkar. ( https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17620 )
Change subject: [ASTERIXDB-3183][COMP] Add query plan cache ...................................................................... [ASTERIXDB-3183][COMP] Add query plan cache - user model changes: yes - storage format changes: no - interface changes: yes Details: The query plan cache reduces compile times by storing job specs for old queries. This allows skipping the rewriting and compilation stages of repeated queries. Change-Id: I87813c761f5024742fb8658360166613d01f127d --- M asterixdb/asterix-app/src/test/resources/runtimets/api.xml M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/fields/MetricsPrinter.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/IStatementExecutor.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java A asterixdb/asterix-app/src/main/java/org/apache/asterix/app/cache/QueryCacheKey.java A asterixdb/asterix-app/src/main/java/org/apache/asterix/app/cache/QueryCacheValue.java M asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/warnings/warnings-limit/warnings-limit.08.regexadm M asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/CCApplication.java M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/annotation/ExcludeFromSelectStarAnnotation.java A asterixdb/asterix-app/src/test/resources/runtimets/results/api/plan_cache_clear/plan_cache_clear.001.regexjson M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/rewriter/base/PhysicalOptimizationConfig.java M asterixdb/asterix-app/src/test/resources/runtimets/results/warnings/warnings-limit/warnings-limit.06.regexadm M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql-sugar/avg_mixed/avg_mixed.5.query.sqlpp A asterixdb/asterix-app/src/test/java/org/apache/asterix/test/runtime/SqlppExecutionWithCacheTest.java M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/Servlets.java A asterixdb/asterix-app/src/test/resources/runtimets/results/api/plan_cache_clear/plan_cache_clear.004.json M asterixdb/asterix-app/src/test/resources/runtimets/results/warnings/warnings-limit/warnings-limit.03.regexadm M asterixdb/asterix-app/src/test/resources/runtimets/results/api/cache-residency/cache-residency.001.regexjson M asterixdb/asterix-app/src/test/resources/runtimets/results/warnings/warnings-limit/warnings-limit.04.regexadm M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/CompilerProperties.java A asterixdb/asterix-app/src/test/resources/runtimets/results/api/plan_cache_clear/plan_cache_clear.006.json A asterixdb/asterix-app/src/test/resources/runtimets/queries/api/plan_cache_clear/plan_cache_clear.003.post.http A asterixdb/asterix-app/src/main/java/org/apache/asterix/app/cache/QueryCache.java M asterixdb/asterix-app/src/test/resources/runtimets/results/api/request-param-validation-400-BAD/request-param-validation-400-BAD.01.regexjson M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/cc/CcApplicationContext.java M asterixdb/asterix-test-framework/src/main/java/org/apache/asterix/testframework/context/TestCaseContext.java M asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/warnings/warnings-limit/warnings-limit.05.regexadm M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/APIFramework.java M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/visitor/SqlppAstPrintVisitor.java M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/annotations/ExternalSubpathAnnotation.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResponseMetrics.java M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/controllers/CCConfig.java A asterixdb/asterix-app/src/test/resources/runtimets/queries/api/plan_cache_clear/plan_cache_clear.004.delete.http A asterixdb/asterix-app/src/main/java/org/apache/asterix/app/cache/clear/ClearCachePredicate.java M asterixdb/asterix-app/src/test/resources/runtimets/results/api/cache-residency/cache-residency.002.regexjson A asterixdb/asterix-app/src/test/resources/runtimets/queries/api/plan_cache_clear/plan_cache_clear.006.delete.http M asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/warnings/warnings-limit/warnings-limit.04.regexadm A asterixdb/asterix-app/src/test/resources/runtimets/queries/api/plan_cache_clear/plan_cache_clear.007.delete.http M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java A asterixdb/asterix-app/src/test/resources/runtimets/queries/api/plan_cache_clear/plan_cache_clear.002.post.http M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/expressions/HashJoinExpressionAnnotation.java M asterixdb/asterix-app/src/test/resources/runtimets/results/warnings/warnings-limit/warnings-limit.05.regexadm M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/RebalanceApiServlet.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/expressions/BroadcastExpressionAnnotation.java M asterixdb/asterix-app/src/test/resources/runtimets/results/warnings/warnings-limit/warnings-limit.08.regexadm M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryResultApiServlet.java A asterixdb/asterix-app/src/test/resources/runtimets/queries/api/plan_cache_clear/plan_cache_clear.005.post.http A asterixdb/asterix-app/src/test/resources/runtimets/results/api/plan_cache_clear/plan_cache_clear.007.json M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/dataflow/ICcApplicationContext.java A asterixdb/asterix-app/src/test/resources/runtimets/results/api/plan_cache_clear/plan_cache_clear.003.regexjson M asterixdb/asterix-app/src/test/resources/runtimets/results/warnings/warnings-limit/warnings-limit.07.regexadm M asterixdb/asterix-app/src/test/resources/runtimets/results/api/cluster_state_1/cluster_state_1.1.regexadm M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceRequestParameters.java A asterixdb/asterix-app/src/test/resources/runtimets/results/api/plan_cache_clear/plan_cache_clear.005.regexjson M asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/warnings/warnings-limit/warnings-limit.03.regexadm M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/compiler/provider/SqlppCompilationProvider.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/SessionConfig.java A asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/PlanCacheApiServlet.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/config/AlgebricksConfig.java M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/rewrites/visitor/SqlCompatRewriteVisitor.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCQueryServiceServlet.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/expressions/PredicateCardinalityAnnotation.java M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestExecutor.java A asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/visitor/SqlppQueryCachePrintVisitor.java M asterixdb/asterix-doc/src/site/markdown/api.md A asterixdb/asterix-app/src/test/resources/runtimets/queries/api/plan_cache_clear/plan_cache_clear.001.post.http M asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/warnings/warnings-limit/warnings-limit.07.regexadm A asterixdb/asterix-app/src/test/resources/runtimets/results/api/plan_cache_clear/plan_cache_clear.002.regexjson M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/expressions/JoinProductivityAnnotation.java 69 files changed, 1,122 insertions(+), 21 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/20/17620/15 -- To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17620 To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Change-Id: I87813c761f5024742fb8658360166613d01f127d Gerrit-Change-Number: 17620 Gerrit-PatchSet: 15 Gerrit-Owner: Sushrut Borkar <sushrutbor...@gmail.com> Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Glenn Galvizo <ggalv...@uci.edu> Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Gerrit-CC: Ian Maxon <ima...@uci.edu> Gerrit-Attention: Sushrut Borkar <sushrutbor...@gmail.com> Gerrit-Attention: Glenn Galvizo <ggalv...@uci.edu> Gerrit-MessageType: newpatchset