Murtadha Hubail has uploaded this change for review. (
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
---
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(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/44/3444/1
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 9d5d44f..8580d49 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
@@ -12343,4 +12343,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: newchange
Gerrit-Change-Id: I54c3b3e72cfb0c2499a95bfc0f514dd5d6774293
Gerrit-Change-Number: 3444
Gerrit-PatchSet: 1
Gerrit-Owner: Murtadha Hubail <[email protected]>