You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jx...@apache.org on 2017/01/11 16:13:16 UTC

[2/2] hive git commit: HIVE-15563: Ignore Illegal Operation state transition exception in SQLOperation.runQuery to expose real exception (Zhihai Xu via Jimmy Xiang)

HIVE-15563: Ignore Illegal Operation state transition exception in SQLOperation.runQuery to expose real exception (Zhihai Xu via Jimmy Xiang)


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

Branch: refs/heads/master
Commit: cb771bb194ad31e7b9a867086119f3d382ecb22d
Parents: 1a71607
Author: Zhihai Xu <zh...@gmail.com>
Authored: Wed Jan 11 08:06:29 2017 -0800
Committer: Jimmy Xiang <jx...@apache.org>
Committed: Wed Jan 11 08:06:29 2017 -0800

----------------------------------------------------------------------
 .../hive/service/cli/operation/SQLOperation.java       | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/cb771bb1/service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java
----------------------------------------------------------------------
diff --git a/service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java b/service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java
index 80a615d..e9f619a 100644
--- a/service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java
+++ b/service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java
@@ -249,7 +249,7 @@ public class SQLOperation extends ExecuteStatementOperation {
       if (0 != response.getResponseCode()) {
         throw toSQLException("Error while processing statement", response);
       }
-    } catch (HiveSQLException e) {
+    } catch (Throwable e) {
       /**
        * If the operation was cancelled by another thread, or the execution timed out, Driver#run
        * may return a non-zero response code. We will simply return if the operation state is
@@ -258,14 +258,15 @@ public class SQLOperation extends ExecuteStatementOperation {
       if ((getStatus().getState() == OperationState.CANCELED)
           || (getStatus().getState() == OperationState.TIMEDOUT)
           || (getStatus().getState() == OperationState.CLOSED)) {
+        LOG.warn("Ignore exception in terminal state", e);
         return;
-      } else {
-        setState(OperationState.ERROR);
-        throw e;
       }
-    } catch (Throwable e) {
       setState(OperationState.ERROR);
-      throw new HiveSQLException("Error running query: " + e.toString(), e);
+      if (e instanceof HiveSQLException) {
+        throw (HiveSQLException) e;
+      } else {
+        throw new HiveSQLException("Error running query: " + e.toString(), e);
+      }
     }
     setState(OperationState.FINISHED);
   }