DRILL-664: Improve Rpc error message display
Project: http://git-wip-us.apache.org/repos/asf/incubator-drill/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-drill/commit/acc45fed Tree: http://git-wip-us.apache.org/repos/asf/incubator-drill/tree/acc45fed Diff: http://git-wip-us.apache.org/repos/asf/incubator-drill/diff/acc45fed Branch: refs/heads/master Commit: acc45fed6d48700cef456eaca13d748760886c68 Parents: 612527b Author: Aditya Kishore <adi...@maprtech.com> Authored: Thu May 8 05:40:28 2014 -0700 Committer: Jacques Nadeau <jacq...@apache.org> Committed: Fri May 9 16:51:50 2014 -0700 ---------------------------------------------------------------------- .../main/java/org/apache/drill/exec/rpc/RpcException.java | 9 +++++++-- .../main/java/org/apache/drill/exec/work/ErrorHelper.java | 5 ++++- 2 files changed, 11 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/acc45fed/exec/java-exec/src/main/java/org/apache/drill/exec/rpc/RpcException.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/rpc/RpcException.java b/exec/java-exec/src/main/java/org/apache/drill/exec/rpc/RpcException.java index ce22afc..dba72a1 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/rpc/RpcException.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/rpc/RpcException.java @@ -19,6 +19,7 @@ package org.apache.drill.exec.rpc; import java.util.concurrent.ExecutionException; +import org.apache.commons.lang.StringEscapeUtils; import org.apache.drill.common.exceptions.DrillIOException; /** @@ -32,11 +33,15 @@ public class RpcException extends DrillIOException{ } public RpcException(String message, Throwable cause) { - super(message, cause); + super(format(message), cause); + } + + private static String format(String message) { + return StringEscapeUtils.unescapeJava(message); } public RpcException(String message) { - super(message); + super(format(message)); } public RpcException(Throwable cause) { http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/acc45fed/exec/java-exec/src/main/java/org/apache/drill/exec/work/ErrorHelper.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/work/ErrorHelper.java b/exec/java-exec/src/main/java/org/apache/drill/exec/work/ErrorHelper.java index 8a10612..a787273 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/work/ErrorHelper.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/work/ErrorHelper.java @@ -19,8 +19,10 @@ package org.apache.drill.exec.work; import java.util.UUID; +import org.apache.drill.exec.planner.sql.parser.impl.ParseException; import org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint; import org.apache.drill.exec.proto.UserBitShared.DrillPBError; +import org.eigenbase.sql.parser.SqlParseException; import org.slf4j.Logger; @@ -44,7 +46,8 @@ public class ErrorHelper { sb.append(t.getMessage()); sb.append(" ]"); } - if (t.getCause() == null || t.getCause() == t) break; + if (t.getCause() == null || t.getCause() == t + || (t instanceof SqlParseException && t.getCause() instanceof ParseException)) break; t = t.getCause(); }