aboutsummaryrefslogtreecommitdiff
path: root/exec/java-exec/src/main/java/org/apache/drill/exec/client
diff options
context:
space:
mode:
authoradeneche <adeneche@gmail.com>2015-04-09 09:30:33 -0700
committerJacques Nadeau <jacques@apache.org>2015-04-15 07:02:10 -0700
commit99b6d0e6d2fc6dea165e9e809db4fc63d9a70d3a (patch)
tree618ab199d054c8df2d15fbd3434b0ce9b38b81bf /exec/java-exec/src/main/java/org/apache/drill/exec/client
parent859e6a86b1c11bc30c5d1d91d176503b4f5cefbe (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.java5
-rw-r--r--exec/java-exec/src/main/java/org/apache/drill/exec/client/PrintingResultsListener.java9
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) {