You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Murtadha Hubail (Code Review)" <do...@asterixdb.incubator.apache.org> on 2019/03/21 21:47:17 UTC
Change in asterixdb[master]: [NO ISSUE][OTH] Make Query Service Parameters Extensible
Murtadha Hubail has uploaded a new change for review.
https://asterix-gerrit.ics.uci.edu/3283
Change subject: [NO ISSUE][OTH] Make Query Service Parameters Extensible
......................................................................
[NO ISSUE][OTH] Make Query Service Parameters Extensible
- user model changes: no
- storage format changes: no
- interface changes: no
Details:
- Make query service parameters extensible to allow
extensions to set additional parameters.
Change-Id: Ice7b70279da899cce1fe89140bc158642fd13348
---
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
2 files changed, 40 insertions(+), 29 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/83/3283/1
diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceRequestParameters.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceRequestParameters.java
index e0af3bd..df321bc 100644
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceRequestParameters.java
+++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceRequestParameters.java
@@ -204,33 +204,37 @@
this.multiStatement = multiStatement;
}
+ public ObjectNode asJson() {
+ ObjectNode object = OBJECT_MAPPER.createObjectNode();
+ object.put("host", host);
+ object.put("path", path);
+ object.put("statement", statement != null ? JSONUtil.escape(new StringBuilder(), statement).toString() : null);
+ object.put("pretty", pretty);
+ object.put("mode", mode);
+ object.put("clientContextID", clientContextID);
+ object.put("format", format);
+ object.put("timeout", timeout);
+ object.put("maxResultReads", maxResultReads);
+ object.put("planFormat", planFormat);
+ object.put("expressionTree", expressionTree);
+ object.put("rewrittenExpressionTree", rewrittenExpressionTree);
+ object.put("logicalPlan", logicalPlan);
+ object.put("optimizedLogicalPlan", optimizedLogicalPlan);
+ object.put("job", job);
+ object.put("signature", signature);
+ object.put("multiStatement", multiStatement);
+ if (statementParams != null) {
+ for (Map.Entry<String, JsonNode> statementParam : statementParams.entrySet()) {
+ object.set('$' + statementParam.getKey(), statementParam.getValue());
+ }
+ }
+ return object;
+ }
+
@Override
public String toString() {
try {
- ObjectNode on = OBJECT_MAPPER.createObjectNode();
- on.put("host", host);
- on.put("path", path);
- on.put("statement", statement != null ? JSONUtil.escape(new StringBuilder(), statement).toString() : null);
- on.put("pretty", pretty);
- on.put("mode", mode);
- on.put("clientContextID", clientContextID);
- on.put("format", format);
- on.put("timeout", timeout);
- on.put("maxResultReads", maxResultReads);
- on.put("planFormat", planFormat);
- on.put("expressionTree", expressionTree);
- on.put("rewrittenExpressionTree", rewrittenExpressionTree);
- on.put("logicalPlan", logicalPlan);
- on.put("optimizedLogicalPlan", optimizedLogicalPlan);
- on.put("job", job);
- on.put("signature", signature);
- on.put("multiStatement", multiStatement);
- if (statementParams != null) {
- for (Map.Entry<String, JsonNode> statementParam : statementParams.entrySet()) {
- on.set('$' + statementParam.getKey(), statementParam.getValue());
- }
- }
- return OBJECT_MAPPER.writeValueAsString(on);
+ return OBJECT_MAPPER.writeValueAsString(asJson());
} catch (JsonProcessingException e) {
QueryServiceServlet.LOGGER.debug("unexpected exception marshalling {} instance to json", getClass(), e);
return e.toString();
diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java
index 6e93c9e..1c66ce8 100644
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java
+++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java
@@ -87,6 +87,7 @@
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.JsonNode;
+
import io.netty.handler.codec.http.HttpResponseStatus;
public class QueryServiceServlet extends AbstractQueryApiServlet {
@@ -449,10 +450,11 @@
param.setStatementParams(
getOptStatementParameters(jsonRequest, jsonRequest.fieldNames(), JsonNode::get, v -> v));
param.setMultiStatement(getOptBoolean(jsonRequest, Parameter.MULTI_STATEMENT, true));
- setJsonOptionalParameters(jsonRequest, optionalParameters);
+ setJsonOptionalParameters(jsonRequest, param, optionalParameters);
}
- protected void setJsonOptionalParameters(JsonNode jsonRequest, Map<String, String> optionalParameters) {
+ protected void setJsonOptionalParameters(JsonNode jsonRequest, QueryServiceRequestParameters param,
+ Map<String, String> optionalParameters) {
// allows extensions to set extra parameters
}
@@ -474,10 +476,11 @@
} catch (JsonParseException | JsonMappingException e) {
GlobalConfig.ASTERIX_LOGGER.log(Level.ERROR, e.getMessage(), e);
}
- setOptionalParameters(request, optionalParameters);
+ setOptionalParameters(request, param, optionalParameters);
}
- protected void setOptionalParameters(IServletRequest request, Map<String, String> optionalParameters) {
+ protected void setOptionalParameters(IServletRequest request, QueryServiceRequestParameters param,
+ Map<String, String> optionalParameters) {
// allows extensions to set extra parameters
}
@@ -538,7 +541,7 @@
Charset resultCharset = HttpUtil.setContentType(response, HttpUtil.ContentType.APPLICATION_JSON, request);
PrintWriter httpWriter = response.writer();
SessionOutput sessionOutput = createSessionOutput(httpWriter);
- QueryServiceRequestParameters param = new QueryServiceRequestParameters();
+ QueryServiceRequestParameters param = newRequestParameters();
try {
// buffer the output until we are ready to set the status of the response message correctly
sessionOutput.hold();
@@ -748,6 +751,10 @@
pw.print(",\n");
}
+ protected QueryServiceRequestParameters newRequestParameters() {
+ return new QueryServiceRequestParameters();
+ }
+
private static boolean isJsonFormat(String format) {
return format.startsWith(HttpUtil.ContentType.APPLICATION_JSON)
|| format.equalsIgnoreCase(HttpUtil.ContentType.JSON);
--
To view, visit https://asterix-gerrit.ics.uci.edu/3283
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ice7b70279da899cce1fe89140bc158642fd13348
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Change in asterixdb[master]: [NO ISSUE][OTH] Make Query Service Parameters Extensible
Posted by "Till Westmann (Code Review)" <do...@asterixdb.incubator.apache.org>.
Till Westmann has posted comments on this change.
Change subject: [NO ISSUE][OTH] Make Query Service Parameters Extensible
......................................................................
Patch Set 1: Code-Review+2
--
To view, visit https://asterix-gerrit.ics.uci.edu/3283
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ice7b70279da899cce1fe89140bc158642fd13348
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Ali Alsuliman <al...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][OTH] Make Query Service Parameters Extensible
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [NO ISSUE][OTH] Make Query Service Parameters Extensible
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/9350/ (9/16)
--
To view, visit https://asterix-gerrit.ics.uci.edu/3283
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ice7b70279da899cce1fe89140bc158642fd13348
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][OTH] Make Query Service Parameters Extensible
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [NO ISSUE][OTH] Make Query Service Parameters Extensible
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-asterix-app/5766/ (13/16)
--
To view, visit https://asterix-gerrit.ics.uci.edu/3283
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ice7b70279da899cce1fe89140bc158642fd13348
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][OTH] Make Query Service Parameters Extensible
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [NO ISSUE][OTH] Make Query Service Parameters Extensible
......................................................................
Patch Set 1: Contrib+1
BAD Compatibility Tests Successful
https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/4080/ : SUCCESS
--
To view, visit https://asterix-gerrit.ics.uci.edu/3283
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ice7b70279da899cce1fe89140bc158642fd13348
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][OTH] Make Query Service Parameters Extensible
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [NO ISSUE][OTH] Make Query Service Parameters Extensible
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-assemblies/5618/ (10/16)
--
To view, visit https://asterix-gerrit.ics.uci.edu/3283
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ice7b70279da899cce1fe89140bc158642fd13348
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][OTH] Make Query Service Parameters Extensible
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [NO ISSUE][OTH] Make Query Service Parameters Extensible
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-ensure-ancestor/3408/ (3/16)
--
To view, visit https://asterix-gerrit.ics.uci.edu/3283
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ice7b70279da899cce1fe89140bc158642fd13348
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][OTH] Make Query Service Parameters Extensible
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [NO ISSUE][OTH] Make Query Service Parameters Extensible
......................................................................
Patch Set 1:
BAD Compatibility Tests Started https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/4080/
--
To view, visit https://asterix-gerrit.ics.uci.edu/3283
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ice7b70279da899cce1fe89140bc158642fd13348
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][OTH] Make Query Service Parameters Extensible
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [NO ISSUE][OTH] Make Query Service Parameters Extensible
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-openjdk11/766/ (14/16)
--
To view, visit https://asterix-gerrit.ics.uci.edu/3283
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ice7b70279da899cce1fe89140bc158642fd13348
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][OTH] Make Query Service Parameters Extensible
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [NO ISSUE][OTH] Make Query Service Parameters Extensible
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-txnlog/569/ (1/16)
--
To view, visit https://asterix-gerrit.ics.uci.edu/3283
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ice7b70279da899cce1fe89140bc158642fd13348
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][OTH] Make Query Service Parameters Extensible
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [NO ISSUE][OTH] Make Query Service Parameters Extensible
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/10882/ (6/16)
--
To view, visit https://asterix-gerrit.ics.uci.edu/3283
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ice7b70279da899cce1fe89140bc158642fd13348
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][OTH] Make Query Service Parameters Extensible
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [NO ISSUE][OTH] Make Query Service Parameters Extensible
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/hyracks-gerrit/5304/ (2/16)
--
To view, visit https://asterix-gerrit.ics.uci.edu/3283
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ice7b70279da899cce1fe89140bc158642fd13348
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][OTH] Make Query Service Parameters Extensible
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [NO ISSUE][OTH] Make Query Service Parameters Extensible
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-no-installer-app/5598/ (15/16)
--
To view, visit https://asterix-gerrit.ics.uci.edu/3283
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ice7b70279da899cce1fe89140bc158642fd13348
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][OTH] Make Query Service Parameters Extensible
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [NO ISSUE][OTH] Make Query Service Parameters Extensible
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-sql-execution/5394/ (4/16)
--
To view, visit https://asterix-gerrit.ics.uci.edu/3283
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ice7b70279da899cce1fe89140bc158642fd13348
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][OTH] Make Query Service Parameters Extensible
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [NO ISSUE][OTH] Make Query Service Parameters Extensible
......................................................................
Patch Set 1: Integration-Tests+1
Integration Tests Successful
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/8172/ : SUCCESS
--
To view, visit https://asterix-gerrit.ics.uci.edu/3283
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ice7b70279da899cce1fe89140bc158642fd13348
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][OTH] Make Query Service Parameters Extensible
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [NO ISSUE][OTH] Make Query Service Parameters Extensible
......................................................................
Patch Set 1:
Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/8172/
--
To view, visit https://asterix-gerrit.ics.uci.edu/3283
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ice7b70279da899cce1fe89140bc158642fd13348
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][OTH] Make Query Service Parameters Extensible
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [NO ISSUE][OTH] Make Query Service Parameters Extensible
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-cancellation-test/5399/ (5/16)
--
To view, visit https://asterix-gerrit.ics.uci.edu/3283
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ice7b70279da899cce1fe89140bc158642fd13348
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][OTH] Make Query Service Parameters Extensible
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [NO ISSUE][OTH] Make Query Service Parameters Extensible
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/5975/ (8/16)
--
To view, visit https://asterix-gerrit.ics.uci.edu/3283
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ice7b70279da899cce1fe89140bc158642fd13348
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][OTH] Make Query Service Parameters Extensible
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [NO ISSUE][OTH] Make Query Service Parameters Extensible
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-ssl-compression/206/ (12/16)
--
To view, visit https://asterix-gerrit.ics.uci.edu/3283
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ice7b70279da899cce1fe89140bc158642fd13348
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][OTH] Make Query Service Parameters Extensible
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [NO ISSUE][OTH] Make Query Service Parameters Extensible
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-format/5361/ (11/16)
--
To view, visit https://asterix-gerrit.ics.uci.edu/3283
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ice7b70279da899cce1fe89140bc158642fd13348
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][OTH] Make Query Service Parameters Extensible
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [NO ISSUE][OTH] Make Query Service Parameters Extensible
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-spidersilk-tests/361/ (16/16)
--
To view, visit https://asterix-gerrit.ics.uci.edu/3283
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ice7b70279da899cce1fe89140bc158642fd13348
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][OTH] Make Query Service Parameters Extensible
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [NO ISSUE][OTH] Make Query Service Parameters Extensible
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-stabilization-f69489-compat/698/ (7/16)
--
To view, visit https://asterix-gerrit.ics.uci.edu/3283
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ice7b70279da899cce1fe89140bc158642fd13348
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][OTH] Make Query Service Parameters Extensible
Posted by "Murtadha Hubail (Code Review)" <do...@asterixdb.incubator.apache.org>.
Murtadha Hubail has submitted this change and it was merged.
Change subject: [NO ISSUE][OTH] Make Query Service Parameters Extensible
......................................................................
[NO ISSUE][OTH] Make Query Service Parameters Extensible
- user model changes: no
- storage format changes: no
- interface changes: no
Details:
- Make query service parameters extensible to allow
extensions to set additional parameters.
Change-Id: Ice7b70279da899cce1fe89140bc158642fd13348
Reviewed-on: https://asterix-gerrit.ics.uci.edu/3283
Sonar-Qube: Jenkins <je...@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <je...@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Till Westmann <ti...@apache.org>
---
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
2 files changed, 40 insertions(+), 29 deletions(-)
Approvals:
Till Westmann: Looks good to me, approved
Jenkins: Verified; No violations found; ; Verified
diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceRequestParameters.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceRequestParameters.java
index e0af3bd..df321bc 100644
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceRequestParameters.java
+++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceRequestParameters.java
@@ -204,33 +204,37 @@
this.multiStatement = multiStatement;
}
+ public ObjectNode asJson() {
+ ObjectNode object = OBJECT_MAPPER.createObjectNode();
+ object.put("host", host);
+ object.put("path", path);
+ object.put("statement", statement != null ? JSONUtil.escape(new StringBuilder(), statement).toString() : null);
+ object.put("pretty", pretty);
+ object.put("mode", mode);
+ object.put("clientContextID", clientContextID);
+ object.put("format", format);
+ object.put("timeout", timeout);
+ object.put("maxResultReads", maxResultReads);
+ object.put("planFormat", planFormat);
+ object.put("expressionTree", expressionTree);
+ object.put("rewrittenExpressionTree", rewrittenExpressionTree);
+ object.put("logicalPlan", logicalPlan);
+ object.put("optimizedLogicalPlan", optimizedLogicalPlan);
+ object.put("job", job);
+ object.put("signature", signature);
+ object.put("multiStatement", multiStatement);
+ if (statementParams != null) {
+ for (Map.Entry<String, JsonNode> statementParam : statementParams.entrySet()) {
+ object.set('$' + statementParam.getKey(), statementParam.getValue());
+ }
+ }
+ return object;
+ }
+
@Override
public String toString() {
try {
- ObjectNode on = OBJECT_MAPPER.createObjectNode();
- on.put("host", host);
- on.put("path", path);
- on.put("statement", statement != null ? JSONUtil.escape(new StringBuilder(), statement).toString() : null);
- on.put("pretty", pretty);
- on.put("mode", mode);
- on.put("clientContextID", clientContextID);
- on.put("format", format);
- on.put("timeout", timeout);
- on.put("maxResultReads", maxResultReads);
- on.put("planFormat", planFormat);
- on.put("expressionTree", expressionTree);
- on.put("rewrittenExpressionTree", rewrittenExpressionTree);
- on.put("logicalPlan", logicalPlan);
- on.put("optimizedLogicalPlan", optimizedLogicalPlan);
- on.put("job", job);
- on.put("signature", signature);
- on.put("multiStatement", multiStatement);
- if (statementParams != null) {
- for (Map.Entry<String, JsonNode> statementParam : statementParams.entrySet()) {
- on.set('$' + statementParam.getKey(), statementParam.getValue());
- }
- }
- return OBJECT_MAPPER.writeValueAsString(on);
+ return OBJECT_MAPPER.writeValueAsString(asJson());
} catch (JsonProcessingException e) {
QueryServiceServlet.LOGGER.debug("unexpected exception marshalling {} instance to json", getClass(), e);
return e.toString();
diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java
index 6e93c9e..1c66ce8 100644
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java
+++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java
@@ -87,6 +87,7 @@
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.JsonNode;
+
import io.netty.handler.codec.http.HttpResponseStatus;
public class QueryServiceServlet extends AbstractQueryApiServlet {
@@ -449,10 +450,11 @@
param.setStatementParams(
getOptStatementParameters(jsonRequest, jsonRequest.fieldNames(), JsonNode::get, v -> v));
param.setMultiStatement(getOptBoolean(jsonRequest, Parameter.MULTI_STATEMENT, true));
- setJsonOptionalParameters(jsonRequest, optionalParameters);
+ setJsonOptionalParameters(jsonRequest, param, optionalParameters);
}
- protected void setJsonOptionalParameters(JsonNode jsonRequest, Map<String, String> optionalParameters) {
+ protected void setJsonOptionalParameters(JsonNode jsonRequest, QueryServiceRequestParameters param,
+ Map<String, String> optionalParameters) {
// allows extensions to set extra parameters
}
@@ -474,10 +476,11 @@
} catch (JsonParseException | JsonMappingException e) {
GlobalConfig.ASTERIX_LOGGER.log(Level.ERROR, e.getMessage(), e);
}
- setOptionalParameters(request, optionalParameters);
+ setOptionalParameters(request, param, optionalParameters);
}
- protected void setOptionalParameters(IServletRequest request, Map<String, String> optionalParameters) {
+ protected void setOptionalParameters(IServletRequest request, QueryServiceRequestParameters param,
+ Map<String, String> optionalParameters) {
// allows extensions to set extra parameters
}
@@ -538,7 +541,7 @@
Charset resultCharset = HttpUtil.setContentType(response, HttpUtil.ContentType.APPLICATION_JSON, request);
PrintWriter httpWriter = response.writer();
SessionOutput sessionOutput = createSessionOutput(httpWriter);
- QueryServiceRequestParameters param = new QueryServiceRequestParameters();
+ QueryServiceRequestParameters param = newRequestParameters();
try {
// buffer the output until we are ready to set the status of the response message correctly
sessionOutput.hold();
@@ -748,6 +751,10 @@
pw.print(",\n");
}
+ protected QueryServiceRequestParameters newRequestParameters() {
+ return new QueryServiceRequestParameters();
+ }
+
private static boolean isJsonFormat(String format) {
return format.startsWith(HttpUtil.ContentType.APPLICATION_JSON)
|| format.equalsIgnoreCase(HttpUtil.ContentType.JSON);
--
To view, visit https://asterix-gerrit.ics.uci.edu/3283
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ice7b70279da899cce1fe89140bc158642fd13348
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Ali Alsuliman <al...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>