>From Rithwik Koul <[email protected]>: Rithwik Koul has uploaded a new patch set (#2). ( https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21328?usp=email )
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: I116e5fa9d16e5c4a5cc6dfbdf8db230221086a9d --- 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/IStatementExecutor.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/SessionConfig.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/APIFramework.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCQueryServiceServlet.java A asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/PlanCacheApiServlet.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryResultApiServlet.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceRequestParameters.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryStatusApiServlet.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/RebalanceApiServlet.java A asterixdb/asterix-app/src/main/java/org/apache/asterix/app/cache/QueryCache.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 A asterixdb/asterix-app/src/main/java/org/apache/asterix/app/cache/clear/ClearCachePredicate.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/cc/CcApplicationContext.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResponseMetrics.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/fields/MetricsPrinter.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/CCApplication.java M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestExecutor.java A asterixdb/asterix-app/src/test/java/org/apache/asterix/test/runtime/SqlppExecutionWithCacheTest.java M asterixdb/asterix-app/src/test/resources/runtimets/api.xml A asterixdb/asterix-app/src/test/resources/runtimets/queries/api/plan_cache_clear/plan_cache_clear.001.post.http A asterixdb/asterix-app/src/test/resources/runtimets/queries/api/plan_cache_clear/plan_cache_clear.002.post.http A asterixdb/asterix-app/src/test/resources/runtimets/queries/api/plan_cache_clear/plan_cache_clear.003.post.http A asterixdb/asterix-app/src/test/resources/runtimets/queries/api/plan_cache_clear/plan_cache_clear.004.delete.http 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/queries/api/plan_cache_clear/plan_cache_clear.006.delete.http A asterixdb/asterix-app/src/test/resources/runtimets/queries/api/plan_cache_clear/plan_cache_clear.007.delete.http M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql-sugar/avg_mixed/avg_mixed.5.query.sqlpp 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/api/cache-residency/cache-residency.002.regexjson M asterixdb/asterix-app/src/test/resources/runtimets/results/api/cluster_state_1/cluster_state_1.1.regexadm M asterixdb/asterix-app/src/test/resources/runtimets/results/api/cluster_state_1_full/cluster_state_1_full.1.regexadm M asterixdb/asterix-app/src/test/resources/runtimets/results/api/cluster_state_1_less/cluster_state_1_less.1.regexadm A asterixdb/asterix-app/src/test/resources/runtimets/results/api/plan_cache_clear/plan_cache_clear.001.regexjson A asterixdb/asterix-app/src/test/resources/runtimets/results/api/plan_cache_clear/plan_cache_clear.002.regexjson A asterixdb/asterix-app/src/test/resources/runtimets/results/api/plan_cache_clear/plan_cache_clear.003.regexjson A asterixdb/asterix-app/src/test/resources/runtimets/results/api/plan_cache_clear/plan_cache_clear.004.json A asterixdb/asterix-app/src/test/resources/runtimets/results/api/plan_cache_clear/plan_cache_clear.005.regexjson 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/results/api/plan_cache_clear/plan_cache_clear.007.json 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/test/resources/runtimets/results/warnings/warnings-limit/warnings-limit.03.regexadm M asterixdb/asterix-app/src/test/resources/runtimets/results/warnings/warnings-limit/warnings-limit.04.regexadm M asterixdb/asterix-app/src/test/resources/runtimets/results/warnings/warnings-limit/warnings-limit.05.regexadm M asterixdb/asterix-app/src/test/resources/runtimets/results/warnings/warnings-limit/warnings-limit.06.regexadm 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/warnings/warnings-limit/warnings-limit.08.regexadm M asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/warnings/warnings-limit/warnings-limit.03.regexadm M asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/warnings/warnings-limit/warnings-limit.04.regexadm M asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/warnings/warnings-limit/warnings-limit.05.regexadm M asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/warnings/warnings-limit/warnings-limit.07.regexadm M asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/warnings/warnings-limit/warnings-limit.08.regexadm M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/annotations/ExternalSubpathAnnotation.java M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/CompilerProperties.java M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/dataflow/ICcApplicationContext.java M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/Servlets.java M asterixdb/asterix-doc/src/site/markdown/api.md M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/annotation/ExcludeFromSelectStarAnnotation.java M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/rewrites/visitor/SqlCompatRewriteVisitor.java M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/visitor/SqlppAstPrintVisitor.java A asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/visitor/SqlppQueryCachePrintVisitor.java M asterixdb/asterix-test-framework/src/main/java/org/apache/asterix/testframework/context/TestCaseContext.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/expressions/BroadcastExpressionAnnotation.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/expressions/HashJoinExpressionAnnotation.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/expressions/JoinProductivityAnnotation.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/expressions/PredicateCardinalityAnnotation.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/config/AlgebricksConfig.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/rewriter/base/PhysicalOptimizationConfig.java M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/controllers/CCConfig.java 72 files changed, 1,235 insertions(+), 20 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/28/21328/2 -- To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21328?usp=email To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings?usp=email Gerrit-MessageType: newpatchset Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Change-Id: I116e5fa9d16e5c4a5cc6dfbdf8db230221086a9d Gerrit-Change-Number: 21328 Gerrit-PatchSet: 2 Gerrit-Owner: Rithwik Koul <[email protected]> Gerrit-CC: Jenkins <[email protected]>
