Change in asterixdb[master]: set HTTP status code before writing the result

2016-09-01 Thread Till Westmann (Code Review)
Till Westmann has submitted this change and it was merged.

Change subject: set HTTP status code before writing the result
..


set HTTP status code before writing the result

Change-Id: I46adb4aeaaa1ada6669b7535bb6d0879a26bc319
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1134
Sonar-Qube: Jenkins 
Tested-by: Jenkins 
Integration-Tests: Jenkins 
Reviewed-by: Michael Blow 
---
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/servlet/QueryServiceServlet.java
M 
asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java
2 files changed, 17 insertions(+), 13 deletions(-)

Approvals:
  Michael Blow: 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/servlet/QueryServiceServlet.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/servlet/QueryServiceServlet.java
index b4097d1..3b69dd1 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/servlet/QueryServiceServlet.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/servlet/QueryServiceServlet.java
@@ -342,7 +342,7 @@
 printField(pw, ErrorField.CODE.str(), "1");
 final String msg = rootCause.getMessage();
 printField(pw, ErrorField.MSG.str(),
-JSONUtil.escape(rootCause.getClass().getName() + ": " + msg != 
null ? msg : ""), addStack);
+JSONUtil.escape(rootCause.getClass().getName() + ": " + (msg 
!= null ? msg : "")), addStack);
 if (addStack) {
 StringWriter sw = new StringWriter();
 PrintWriter stackWriter = new PrintWriter(sw);
@@ -453,10 +453,10 @@
 
 GlobalConfig.ASTERIX_LOGGER.log(Level.SEVERE, result);
 
+response.setStatus(respCode);
 response.getWriter().print(result);
 if (response.getWriter().checkError()) {
 LOGGER.warning("Error flushing output writer");
 }
-response.setStatus(respCode);
 }
 }
diff --git 
a/asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java
 
b/asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java
index 3e16802..52237d8 100644
--- 
a/asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java
+++ 
b/asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java
@@ -250,21 +250,25 @@
 }
 }
 
+protected HttpResponse executeAndCheckHttpRequest(HttpUriRequest method) 
throws Exception {
+return checkResponse(executeHttpRequest(method));
+}
+
 protected HttpResponse executeHttpRequest(HttpUriRequest method) throws 
Exception {
 HttpClient client = HttpClients.custom()
 .setRetryHandler(StandardHttpRequestRetryHandler.INSTANCE)
 .build();
-HttpResponse httpResponse;
-
 try {
-httpResponse = client.execute(method);
+return client.execute(method);
 } catch (Exception e) {
 GlobalConfig.ASTERIX_LOGGER.log(Level.SEVERE, e.getMessage(), e);
 e.printStackTrace();
 throw e;
 }
-int statusCode = httpResponse.getStatusLine().getStatusCode();
-if (statusCode != HttpStatus.SC_OK) {
+}
+
+protected HttpResponse checkResponse(HttpResponse httpResponse) throws 
Exception {
+if (httpResponse.getStatusLine().getStatusCode() != HttpStatus.SC_OK) {
 // QQQ For now, we are indeed assuming we get back JSON errors.
 // In future this may be changed depending on the requested
 // output format sent to the servlet.
@@ -294,7 +298,7 @@
 HttpUriRequest method = constructHttpMethod(str, url, "query", false, 
params);
 // Set accepted output response type
 method.setHeader("Accept", fmt.mimeType());
-HttpResponse response = executeHttpRequest(method);
+HttpResponse response = executeAndCheckHttpRequest(method);
 return response.getEntity().getContent();
 }
 
@@ -368,7 +372,7 @@
 public InputStream executeClusterStateQuery(OutputFormat fmt, String url) 
throws Exception {
 HttpUriRequest request = RequestBuilder.get(url).setHeader("Accept", 
fmt.mimeType()).build();
 
-HttpResponse response = executeHttpRequest(request);
+HttpResponse response = executeAndCheckHttpRequest(request);
 return response.getEntity().getContent();
 }
 
@@ -381,7 +385,7 @@
 .build();
 
 // Execute the method.
-executeHttpRequest(request);
+executeAndCheckHttpRequest(request);
 }
 
 // Executes AQL in either async or async-defer mode.
@@ -393,7 +397,7 @@
 .setHeader("Accept", fmt.mimeType())
 .build();
 
-HttpResponse response = executeHttpReq

Change in asterixdb[master]: set HTTP status code before writing the result

2016-09-01 Thread Michael Blow (Code Review)
Michael Blow has posted comments on this change.

Change subject: set HTTP status code before writing the result
..


Patch Set 2: Code-Review+2

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1134
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I46adb4aeaaa1ada6669b7535bb6d0879a26bc319
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Till Westmann 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 
Gerrit-HasComments: No


Change in asterixdb[master]: set HTTP status code before writing the result

2016-09-01 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: set HTTP status code before writing the result
..


Patch Set 2: Integration-Tests+1

Integration Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/535/ : 
SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1134
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I46adb4aeaaa1ada6669b7535bb6d0879a26bc319
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Till Westmann 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 
Gerrit-HasComments: No


Change in asterixdb[master]: set HTTP status code before writing the result

2016-09-01 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: set HTTP status code before writing the result
..


Patch Set 2:

Integration Tests Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/535/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1134
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I46adb4aeaaa1ada6669b7535bb6d0879a26bc319
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Till Westmann 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 
Gerrit-HasComments: No


Change in asterixdb[master]: set HTTP status code before writing the result

2016-09-01 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: set HTTP status code before writing the result
..


Patch Set 2:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/2486/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1134
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I46adb4aeaaa1ada6669b7535bb6d0879a26bc319
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Till Westmann 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 
Gerrit-HasComments: No


Change in asterixdb[master]: set HTTP status code before writing the result

2016-09-01 Thread Till Westmann (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1134

to look at the new patch set (#2).

Change subject: set HTTP status code before writing the result
..

set HTTP status code before writing the result

Change-Id: I46adb4aeaaa1ada6669b7535bb6d0879a26bc319
---
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/servlet/QueryServiceServlet.java
M 
asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java
2 files changed, 17 insertions(+), 13 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/34/1134/2
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1134
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I46adb4aeaaa1ada6669b7535bb6d0879a26bc319
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Till Westmann 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 


Change in asterixdb[master]: set HTTP status code before writing the result

2016-08-31 Thread Till Westmann (Code Review)
Till Westmann has uploaded a new change for review.

  https://asterix-gerrit.ics.uci.edu/1134

Change subject: set HTTP status code before writing the result
..

set HTTP status code before writing the result

Change-Id: I46adb4aeaaa1ada6669b7535bb6d0879a26bc319
---
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/servlet/QueryServiceServlet.java
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/34/1134/1

diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/servlet/QueryServiceServlet.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/servlet/QueryServiceServlet.java
index b4097d1..cc514a7 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/servlet/QueryServiceServlet.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/servlet/QueryServiceServlet.java
@@ -453,10 +453,10 @@
 
 GlobalConfig.ASTERIX_LOGGER.log(Level.SEVERE, result);
 
+response.setStatus(respCode);
 response.getWriter().print(result);
 if (response.getWriter().checkError()) {
 LOGGER.warning("Error flushing output writer");
 }
-response.setStatus(respCode);
 }
 }

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1134
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I46adb4aeaaa1ada6669b7535bb6d0879a26bc319
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Till Westmann 


Change in asterixdb[master]: set HTTP status code before writing the result

2016-08-31 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: set HTTP status code before writing the result
..


Patch Set 1:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/2481/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1134
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I46adb4aeaaa1ada6669b7535bb6d0879a26bc319
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Till Westmann 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No