diff options
author | adeneche <adeneche@gmail.com> | 2015-04-09 09:30:33 -0700 |
---|---|---|
committer | Jacques Nadeau <jacques@apache.org> | 2015-04-15 07:02:10 -0700 |
commit | 99b6d0e6d2fc6dea165e9e809db4fc63d9a70d3a (patch) | |
tree | 618ab199d054c8df2d15fbd3434b0ce9b38b81bf /exec/java-exec/src/main/java/org/apache/drill/exec/client | |
parent | 859e6a86b1c11bc30c5d1d91d176503b4f5cefbe (diff) |
DRILL-2675: Implement a subset of User Exceptions to improve how errors are reported to the user
Diffstat (limited to 'exec/java-exec/src/main/java/org/apache/drill/exec/client')
-rw-r--r-- | exec/java-exec/src/main/java/org/apache/drill/exec/client/DrillClient.java | 5 | ||||
-rw-r--r-- | exec/java-exec/src/main/java/org/apache/drill/exec/client/PrintingResultsListener.java | 9 |
2 files changed, 8 insertions, 6 deletions
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/client/DrillClient.java b/exec/java-exec/src/main/java/org/apache/drill/exec/client/DrillClient.java index 579cf7dc9..6555cadc2 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/client/DrillClient.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/client/DrillClient.java @@ -33,6 +33,7 @@ import java.util.Vector; import io.netty.channel.EventLoopGroup; import org.apache.drill.common.config.DrillConfig; +import org.apache.drill.common.exceptions.DrillUserException; import org.apache.drill.exec.ExecConstants; import org.apache.drill.exec.coord.ClusterCoordinator; import org.apache.drill.exec.coord.zk.ZKClusterCoordinator; @@ -307,9 +308,9 @@ public class DrillClient implements Closeable, ConnectionThrottle { } @Override - public void submissionFailed(RpcException ex) { + public void submissionFailed(DrillUserException ex) { // or !client.isActive() - if (ex instanceof ChannelClosedException) { + if (ex.getCause() instanceof ChannelClosedException) { if (reconnect()) { try { client.submitQuery(this, query); diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/client/PrintingResultsListener.java b/exec/java-exec/src/main/java/org/apache/drill/exec/client/PrintingResultsListener.java index 98948af25..a11cec005 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/client/PrintingResultsListener.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/client/PrintingResultsListener.java @@ -22,6 +22,8 @@ import java.util.concurrent.atomic.AtomicInteger; import io.netty.buffer.DrillBuf; import org.apache.drill.common.config.DrillConfig; +import org.apache.drill.common.exceptions.DrillUserException; +import org.apache.drill.common.exceptions.ErrorHelper; import org.apache.drill.exec.client.QuerySubmitter.Format; import org.apache.drill.exec.exception.SchemaChangeException; import org.apache.drill.exec.memory.BufferAllocator; @@ -29,7 +31,6 @@ import org.apache.drill.exec.memory.TopLevelAllocator; import org.apache.drill.exec.proto.UserBitShared.QueryId; import org.apache.drill.exec.proto.UserBitShared.QueryData; import org.apache.drill.exec.record.RecordBatchLoader; -import org.apache.drill.exec.rpc.RpcException; import org.apache.drill.exec.rpc.user.ConnectionThrottle; import org.apache.drill.exec.rpc.user.QueryDataBatch; import org.apache.drill.exec.rpc.user.UserResultsListener; @@ -42,7 +43,7 @@ public class PrintingResultsListener implements UserResultsListener { Format format; int columnWidth; BufferAllocator allocator; - volatile Exception exception; + volatile DrillUserException exception; QueryId queryId; public PrintingResultsListener(DrillConfig config, Format format, int columnWidth) { @@ -53,7 +54,7 @@ public class PrintingResultsListener implements UserResultsListener { } @Override - public void submissionFailed(RpcException ex) { + public void submissionFailed(DrillUserException ex) { exception = ex; System.out.println("Exception (no rows returned): " + ex ); latch.countDown(); @@ -76,7 +77,7 @@ public class PrintingResultsListener implements UserResultsListener { try { loader.load(header.getDef(), data); } catch (SchemaChangeException e) { - submissionFailed(new RpcException(e)); + submissionFailed(ErrorHelper.wrap(e)); } switch(format) { |