hive Illegal Operation state transition from CLOSED to ERROR的处理

异常堆栈如下:

2015-11-24 16:49:11,495 ERROR org.apache.hive.service.cli.operation.Operation: Error running hive query:

org.apache.hive.service.cli.HiveSQLException: Illegal Operation state transition from CLOSED to ERROR
        at org.apache.hive.service.cli.OperationState.validateTransition(OperationState.java:91)
        at org.apache.hive.service.cli.OperationState.validateTransition(OperationState.java:97)
        at org.apache.hive.service.cli.operation.Operation.setState(Operation.java:116)
        at org.apache.hive.service.cli.operation.SQLOperation.runInternal(SQLOperation.java:159)
        at org.apache.hive.service.cli.operation.SQLOperation.access$000(SQLOperation.java:69)
        at org.apache.hive.service.cli.operation.SQLOperation$1$1.run(SQLOperation.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:415)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1642)
        at org.apache.hadoop.hive.shims.HadoopShimsSecure.doAs(HadoopShimsSecure.java:502)
        at org.apache.hive.service.cli.operation.SQLOperation$1.run(SQLOperation.java:213)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

        at java.lang.Thread.run(Thread.java:745)

When server close a operation(for example because of session timeout), it set the state to CLOSED, then the background operation is canceled, hive driver failed and try to set the state to ERROR, but it is illegal to do that. So exception occurs. 
The patch simply ignore driver error when the current state is CLOSED(or CANCELED).

https://issues.apache.org/jira/browse/HIVE-9005

https://issues.apache.org/jira/browse/HIVE-5799

时间: 2024-08-03 13:28:17

hive Illegal Operation state transition from CLOSED to ERROR的处理的相关文章

安卓开发报错Illegal operation on empty result set.

问题描述 安卓开发报错Illegal operation on empty result set. 各位大神,我在myeclipse里编写服务器,报如下错误: url = select * from user where username = 'null' stmt = com.mysql.jdbc.Statement@39c51b0e java.sql.SQLException: Illegal operation on empty result set. at com.mysql.jdbc.

Illegal operation on empty result set.

Illegal operation on empty result set.      在空的结果集上进行(非法)操作 先贴错误日志,然后分析. org.springframework.dao.TransientDataAccessResourceException: PreparedStatementCallback; SQL [select * from system_user where sys_user_email = ?]; Illegal operation on empty res

使用sqoop将oracle数据库导入hive、hbase或hdfs时,报Error,是什么原因?

问题描述 使用sqoop将oracle数据库导入hive.hbase或hdfs时,有时候会报Error:java.lang.RuntimeException:java.lang.RuntimeException:java.sql.SQLException:Ioexception:TheNetworkAdaptercouldnotestablishtheconnection.这是什么原因?(oracle->hive时:同样的语句有时候会报错,有时候不会:oracle->hbase时每次都报错,数

Mysql彻底解决中文乱码问题的方案(Illegal mix of collations for operation)_Mysql

mysql 中常常出现对中文支持不友好的情况常见的错误 "Illegal mix of collations for operation" 下面我们规整一下 mysql 数据库中一共涉及到哪些字符集 character-set-server/default-character-set:服务器字符集,默认情况下所采用的 character-set-database:数据库字符集 character-set-table:数据库表字符集 一般情况下只需要设置character-set-ser

How do you persist state of Sagas?

Just a quick question on saga persistence - how do you persist saga state and dispatch messages while avoiding transactions and 2PC?  Long story: I'm trying to reason out the logic behind sagas, in order to understand everything better (and map conce

RAC one instance cann't startup CRS-0215 & ORA-29702: error occurred in Cluster Group Service operation

环境 :  Oracle 10.2.0.4 CentOS 5.x 64bit 2 node RAC, raw 设备 通过光纤连HP存储. 存储出现故障并修复后, 其中一台(node2)的instance无法启动, 报错如下 1. $ORACLE_BASE/admin/$SID/bdump/alter_$sid.log Error: KGXGN polling error (15) Mon Oct 15 11:39:11 2012 Errors in file /opt/oracle/admin/

泛函编程(16)-泛函状态-Functional State

    初接触泛函状态觉着很不习惯.主要是在使用State数据类型时很难理解其中的原理,特别是泛函状态变迁机制(state transition mechanism):怎么状态就起了变化,实在难以跟踪.我想这主要是因为状态变迁机制经过了函数组合,已经深深的埋藏在运行代码后面.上节我们讨论到RNG,对于了解State类型是个很好的开头.RNG简单描述了泛函方式的状态变迁及支持状态变迁所需要的数据结构和操作函数款式.     在上节我们提到过 type Rand[+A] = RNG => (A, R

Scalaz(17)- Monad:泛函状态类型-State Monad

  我们经常提到函数式编程就是F[T].这个F可以被视为一种运算模式.我们是在F运算模式的壳子内对T进行计算.理论上来讲,函数式程序的运行状态也应该是在这个运算模式壳子内的,也是在F[]内更新的.那么我们就应该像函数式运算T值一样,也有一套函数式更新程序状态的方法.之前我们介绍了Writer Monad.Writer也是在F[]内维护Log的,可以说是一种状态维护方式.但Writer的Log是一种Monoid类型,只支持Semigroup的a|+|b操作,所以只能实现一种两段Log相加累积这种效

TNS-12537, TNS-12560,TNS-00507 Linux Error: 29: Illegal seek error

TNS-12537, TNS-12560,TNS-00507 Linux Error: 29: Illegal seek error 错误现象: TNS-12537: TNS:connectionclosed  TNS-12560: TNS:protocol adapter error   TNS-00507: Connection closed    Linux Error: 29: Illegal seek   参考文档: 参考:Metalink[ID 315720.1] TNS Liste