Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Murtadha Hubail (Code Review)
Murtadha Hubail has submitted this change and it was merged.

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..


[ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
- Ensure results JSON field is closed when an exception is
  encountered.
- Always return errors field if it exists in the API response.
- Add test case.

Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2057
Sonar-Qube: Jenkins 
Tested-by: Jenkins 
Contrib: Jenkins 
Integration-Tests: Jenkins 
Reviewed-by: Ian Maxon 
---
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResultPrinter.java
A 
asterixdb/asterix-app/src/test/java/org/apache/asterix/app/result/ResultPrinterTest.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/ResultExtractor.java
3 files changed, 146 insertions(+), 32 deletions(-)

Approvals:
  Jenkins: Verified; No violations found; ; Verified
  Ian Maxon: Looks good to me, approved

Objections:
  Anon. E. Moose #1000171: 



diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResultPrinter.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResultPrinter.java
index 04ac0b3..c8d25f1 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResultPrinter.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResultPrinter.java
@@ -200,32 +200,33 @@
 
 public void print(ResultReader resultReader) throws HyracksDataException {
 printPrefix();
+try {
+final IFrameTupleAccessor fta = 
resultReader.getFrameTupleAccessor();
+final IFrame frame = new VSizeFrame(resultDisplayFrameMgr);
 
-final IFrameTupleAccessor fta = resultReader.getFrameTupleAccessor();
-final IFrame frame = new VSizeFrame(resultDisplayFrameMgr);
-
-while (resultReader.read(frame) > 0) {
-final ByteBuffer frameBuffer = frame.getBuffer();
-final byte[] frameBytes = frameBuffer.array();
-fta.reset(frameBuffer);
-final int last = fta.getTupleCount();
-for (int tIndex = 0; tIndex < last; tIndex++) {
-final int start = fta.getTupleStartOffset(tIndex);
-int length = fta.getTupleEndOffset(tIndex) - start;
-if (conf.fmt() == SessionConfig.OutputFormat.CSV
-&& ((length > 0) && (frameBytes[start + length - 1] == 
'\n'))) {
-length--;
+while (resultReader.read(frame) > 0) {
+final ByteBuffer frameBuffer = frame.getBuffer();
+final byte[] frameBytes = frameBuffer.array();
+fta.reset(frameBuffer);
+final int last = fta.getTupleCount();
+for (int tIndex = 0; tIndex < last; tIndex++) {
+final int start = fta.getTupleStartOffset(tIndex);
+int length = fta.getTupleEndOffset(tIndex) - start;
+if (conf.fmt() == SessionConfig.OutputFormat.CSV
+&& ((length > 0) && (frameBytes[start + length - 
1] == '\n'))) {
+length--;
+}
+String result = new String(frameBytes, start, length, 
UTF_8);
+if (wrapArray && notFirst) {
+output.out().print(", ");
+}
+notFirst = true;
+displayRecord(result);
 }
-String result = new String(frameBytes, start, length, UTF_8);
-if (wrapArray && notFirst) {
-output.out().print(", ");
-}
-notFirst = true;
-displayRecord(result);
+frameBuffer.clear();
 }
-frameBuffer.clear();
+} finally {
+printPostfix();
 }
-
-printPostfix();
 }
 }
diff --git 
a/asterixdb/asterix-app/src/test/java/org/apache/asterix/app/result/ResultPrinterTest.java
 
b/asterixdb/asterix-app/src/test/java/org/apache/asterix/app/result/ResultPrinterTest.java
new file mode 100644
index 000..6810e19
--- /dev/null
+++ 
b/asterixdb/asterix-app/src/test/java/org/apache/asterix/app/result/ResultPrinterTest.java
@@ -0,0 +1,107 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, 

Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Ian Maxon (Code Review)
Ian Maxon has posted comments on this change.

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..


Patch Set 2: Code-Review+2

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Ian Maxon 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Anon. E. Moose (Code Review)
Anon. E. Moose #1000171 has posted comments on this change.

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..


Patch Set 2: Contrib-1

Analytics Compatibility Tests Failed Build 2712
: UNSTABLE

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..


Patch Set 2: Integration-Tests+1

Integration Tests Successful

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

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..


Patch Set 2: Contrib+1

BAD Compatibility Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/1894/ : SUCCESS

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..


Patch Set 2:

BAD Compatibility Tests Started 
https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/1894/

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..


Patch Set 2:

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

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..


Patch Set 2:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-cancellation-test/1137/ 
(3/10)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..


Patch Set 2:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/1745/ (10/10)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..


Patch Set 2:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-assemblies/1467/ 
(5/10)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..


Patch Set 2:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-no-installer-app/1804/
 (2/10)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..


Patch Set 2:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/5186/ (9/10)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..


Patch Set 2:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-asterix-app/1846/ 
(7/10)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/hyracks-gerrit/1127/ 
(1/10)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Murtadha Hubail (Code Review)
Hello Jenkins,

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

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

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

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..

[ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
- Ensure results JSON field is closed when an exception is
  encountered.
- Always return errors field if it exists in the API response.
- Add test case.

Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
---
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResultPrinter.java
A 
asterixdb/asterix-app/src/test/java/org/apache/asterix/app/result/ResultPrinterTest.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/ResultExtractor.java
3 files changed, 146 insertions(+), 32 deletions(-)


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

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..


Patch Set 2:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app/2026/ (8/10)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..


Patch Set 2:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/6682/ (4/10)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..


Patch Set 1: Integration-Tests-1

Integration Tests Failed

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/4186/ 
: FAILURE

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..


Patch Set 1:

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

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..


Patch Set 1:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app/2025/ (10/10)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..


Patch Set 1:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/5185/ (9/10)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..


Patch Set 1:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-sql-execution/1137/
 (8/10)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Murtadha Hubail (Code Review)
Murtadha Hubail has uploaded a new change for review.

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

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..

[ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
- Ensure results JSON field is closed when an exception is
  encountered.
- Always return errors field if it exists in the API response.
- Add test case.

Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
---
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResultPrinter.java
A 
asterixdb/asterix-app/src/test/java/org/apache/asterix/app/result/ResultPrinterTest.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/ResultExtractor.java
3 files changed, 128 insertions(+), 32 deletions(-)


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

diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResultPrinter.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResultPrinter.java
index 04ac0b3..c8d25f1 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResultPrinter.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResultPrinter.java
@@ -200,32 +200,33 @@
 
 public void print(ResultReader resultReader) throws HyracksDataException {
 printPrefix();
+try {
+final IFrameTupleAccessor fta = 
resultReader.getFrameTupleAccessor();
+final IFrame frame = new VSizeFrame(resultDisplayFrameMgr);
 
-final IFrameTupleAccessor fta = resultReader.getFrameTupleAccessor();
-final IFrame frame = new VSizeFrame(resultDisplayFrameMgr);
-
-while (resultReader.read(frame) > 0) {
-final ByteBuffer frameBuffer = frame.getBuffer();
-final byte[] frameBytes = frameBuffer.array();
-fta.reset(frameBuffer);
-final int last = fta.getTupleCount();
-for (int tIndex = 0; tIndex < last; tIndex++) {
-final int start = fta.getTupleStartOffset(tIndex);
-int length = fta.getTupleEndOffset(tIndex) - start;
-if (conf.fmt() == SessionConfig.OutputFormat.CSV
-&& ((length > 0) && (frameBytes[start + length - 1] == 
'\n'))) {
-length--;
+while (resultReader.read(frame) > 0) {
+final ByteBuffer frameBuffer = frame.getBuffer();
+final byte[] frameBytes = frameBuffer.array();
+fta.reset(frameBuffer);
+final int last = fta.getTupleCount();
+for (int tIndex = 0; tIndex < last; tIndex++) {
+final int start = fta.getTupleStartOffset(tIndex);
+int length = fta.getTupleEndOffset(tIndex) - start;
+if (conf.fmt() == SessionConfig.OutputFormat.CSV
+&& ((length > 0) && (frameBytes[start + length - 
1] == '\n'))) {
+length--;
+}
+String result = new String(frameBytes, start, length, 
UTF_8);
+if (wrapArray && notFirst) {
+output.out().print(", ");
+}
+notFirst = true;
+displayRecord(result);
 }
-String result = new String(frameBytes, start, length, UTF_8);
-if (wrapArray && notFirst) {
-output.out().print(", ");
-}
-notFirst = true;
-displayRecord(result);
+frameBuffer.clear();
 }
-frameBuffer.clear();
+} finally {
+printPostfix();
 }
-
-printPostfix();
 }
 }
diff --git 
a/asterixdb/asterix-app/src/test/java/org/apache/asterix/app/result/ResultPrinterTest.java
 
b/asterixdb/asterix-app/src/test/java/org/apache/asterix/app/result/ResultPrinterTest.java
new file mode 100644
index 000..a733785
--- /dev/null
+++ 
b/asterixdb/asterix-app/src/test/java/org/apache/asterix/app/result/ResultPrinterTest.java
@@ -0,0 +1,89 @@
+package org.apache.asterix.app.result;
+
+import static org.apache.hyracks.util.StorageUtil.StorageUnit.KILOBYTE;
+
+import java.io.ByteArrayOutputStream;
+import java.io.PrintWriter;
+import java.nio.charset.StandardCharsets;
+
+import org.apache.asterix.api.http.server.AbstractQueryApiServlet;
+import org.apache.asterix.api.http.server.ResultUtil;
+import org.apache.asterix.common.api.IApplicationContext;
+import org.apache.asterix.common.config.CompilerProperties;
+import org.apache.asterix.common.exceptions.AsterixException;
+import org.apache.asterix.test.common.ResultExtractor;
+import 

Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..


Patch Set 1:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-no-installer-app/1803/
 (6/10)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..


Patch Set 1:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/6681/ (3/10)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/hyracks-gerrit/1126/ 
(7/10)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..


Patch Set 1:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-cancellation-test/1136/ 
(5/10)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..


Patch Set 1:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/1744/ (1/10)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing

2017-10-05 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
..


Patch Set 1:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-asterix-app/1845/ 
(2/10)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No