Murtadha Hubail has submitted this change and it was merged. ( https://asterix-gerrit.ics.uci.edu/3444 )
Change subject: [NO ISSUE][OTH] Use Request Stats When Printing Results on NC ...................................................................... [NO ISSUE][OTH] Use Request Stats When Printing Results on NC - user model changes: no - storage format changes: no - interface changes: no Details: - When printing a result on an NC, use the stats object of the original request rather than the object received from the CC as part of the execute statement response message. This is done because the metrics returned to the user are generated from the stats object of the request. - Add metrics test case to sqlpp test suite to test returning metrics from NCQueryServiceServlet. Change-Id: I54c3b3e72cfb0c2499a95bfc0f514dd5d6774293 Reviewed-on: https://asterix-gerrit.ics.uci.edu/3444 Integration-Tests: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Tested-by: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Reviewed-by: Ali Alsuliman <ali.al.solai...@gmail.com> --- M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCQueryServiceServlet.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/fields/NcResultPrinter.java M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml 3 files changed, 12 insertions(+), 3 deletions(-) Approvals: Jenkins: Verified; Verified Anon. E. Moose (1000171): Ali Alsuliman: Looks good to me, approved Objections: Jenkins: Violations found diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCQueryServiceServlet.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCQueryServiceServlet.java index 7d7bad2..254f92a 100644 --- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCQueryServiceServlet.java +++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCQueryServiceServlet.java @@ -119,7 +119,7 @@ } if (hasResult(responseMsg)) { responsePrinter.addResultPrinter( - new NcResultPrinter(appCtx, responseMsg, getResultSet(), delivery, sessionOutput)); + new NcResultPrinter(appCtx, responseMsg, getResultSet(), delivery, sessionOutput, stats)); } buildResponseResults(responsePrinter, sessionOutput, responseMsg.getExecutionPlans()); } diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/fields/NcResultPrinter.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/fields/NcResultPrinter.java index 2989d2c..000dd6a 100644 --- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/fields/NcResultPrinter.java +++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/fields/NcResultPrinter.java @@ -43,14 +43,17 @@ private final IApplicationContext appCtx; private final IResultSet resultSet; private final SessionOutput sessionOutput; + private final IStatementExecutor.Stats stats; public NcResultPrinter(IApplicationContext appCtx, ExecuteStatementResponseMessage responseMsg, - IResultSet resultSet, IStatementExecutor.ResultDelivery delivery, SessionOutput sessionOutput) { + IResultSet resultSet, IStatementExecutor.ResultDelivery delivery, SessionOutput sessionOutput, + IStatementExecutor.Stats stats) { this.appCtx = appCtx; this.responseMsg = responseMsg; this.delivery = delivery; this.resultSet = resultSet; this.sessionOutput = sessionOutput; + this.stats = stats; } @Override @@ -58,7 +61,6 @@ IStatementExecutor.ResultMetadata resultMetadata = responseMsg.getMetadata(); List<Triple<JobId, ResultSetId, ARecordType>> resultSets = resultMetadata.getResultSets(); if (delivery == IStatementExecutor.ResultDelivery.IMMEDIATE && !resultSets.isEmpty()) { - final IStatementExecutor.Stats stats = responseMsg.getStats(); stats.setProcessedObjects(responseMsg.getStats().getProcessedObjects()); for (int i = 0; i < resultSets.size(); i++) { Triple<JobId, ResultSetId, ARecordType> rsmd = resultSets.get(i); diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml index 15c0702..7191d03 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml +++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml @@ -12342,4 +12342,11 @@ </compilation-unit> </test-case> </test-group> + <test-group name="metrics"> + <test-case FilePath="metrics"> + <compilation-unit name="full-scan"> + <output-dir compare="Text">full-scan</output-dir> + </compilation-unit> + </test-case> + </test-group> </test-suite> -- To view, visit https://asterix-gerrit.ics.uci.edu/3444 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I54c3b3e72cfb0c2499a95bfc0f514dd5d6774293 Gerrit-Change-Number: 3444 Gerrit-PatchSet: 3 Gerrit-Owner: Murtadha Hubail <mhub...@apache.org> Gerrit-Reviewer: Ali Alsuliman <ali.al.solai...@gmail.com> Gerrit-Reviewer: Anon. E. Moose (1000171) Gerrit-Reviewer: Dmitry Lychagin <dmitry.lycha...@couchbase.com> Gerrit-Reviewer: Hussain Towaileb <hussai...@gmail.com> Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Gerrit-Reviewer: Michael Blow <mb...@apache.org> Gerrit-Reviewer: Murtadha Hubail <mhub...@apache.org>