You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by ta...@apache.org on 2018/03/08 16:15:04 UTC

[3/5] impala git commit: IMPALA-6617: Improve diagnostics for debugging.

IMPALA-6617: Improve diagnostics for debugging.

The root cause of IMPALA-6617 is elusive.
This patch enhances the exception message to help
identify the root cause when we hit IMPALA-6617 again.

Change-Id: I36e2c1185836262759c809632d69d0126af9bdbf
Reviewed-on: http://gerrit.cloudera.org:8080/9545
Reviewed-by: Alex Behm <al...@cloudera.com>
Tested-by: Impala Public Jenkins


Project: http://git-wip-us.apache.org/repos/asf/impala/repo
Commit: http://git-wip-us.apache.org/repos/asf/impala/commit/d006dcc1
Tree: http://git-wip-us.apache.org/repos/asf/impala/tree/d006dcc1
Diff: http://git-wip-us.apache.org/repos/asf/impala/diff/d006dcc1

Branch: refs/heads/2.x
Commit: d006dcc1c06f26df460bc6d175d1d42c1b757a9f
Parents: 8acb171
Author: Alex Behm <al...@cloudera.com>
Authored: Wed Mar 7 15:58:02 2018 -0800
Committer: Impala Public Jenkins <im...@gerrit.cloudera.org>
Committed: Thu Mar 8 10:24:38 2018 +0000

----------------------------------------------------------------------
 fe/src/main/java/org/apache/impala/service/FeSupport.java | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/impala/blob/d006dcc1/fe/src/main/java/org/apache/impala/service/FeSupport.java
----------------------------------------------------------------------
diff --git a/fe/src/main/java/org/apache/impala/service/FeSupport.java b/fe/src/main/java/org/apache/impala/service/FeSupport.java
index 714f686..d4311ff 100644
--- a/fe/src/main/java/org/apache/impala/service/FeSupport.java
+++ b/fe/src/main/java/org/apache/impala/service/FeSupport.java
@@ -166,7 +166,10 @@ public class FeSupport {
       TDeserializer deserializer = new TDeserializer(new TBinaryProtocol.Factory());
       TResultRow val = new TResultRow();
       deserializer.deserialize(val, result);
-      Preconditions.checkState(val.getColValsSize() == 1);
+      if (val.getColValsSize() != 1) {
+        throw new IllegalStateException(String.format("Illegal expr eval result. " +
+            "Expr=%s\nTExpBatch=%s\nResult=%s", expr.toSql(), exprBatch, val));
+      }
       return val.getColVals().get(0);
     } catch (TException e) {
       // this should never happen