hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Deepesh Khandelwal (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-11902) Abort txn cleanup thread throws SyntaxErrorException
Date Tue, 22 Sep 2015 17:17:04 GMT

    [ https://issues.apache.org/jira/browse/HIVE-11902?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14903017#comment-14903017
] 

Deepesh Khandelwal commented on HIVE-11902:
-------------------------------------------

The failing hcat test org.apache.hive.hcatalog.api.TestHCatClient.testTableSchemaPropagation
also seems unrelated.

> Abort txn cleanup thread throws SyntaxErrorException
> ----------------------------------------------------
>
>                 Key: HIVE-11902
>                 URL: https://issues.apache.org/jira/browse/HIVE-11902
>             Project: Hive
>          Issue Type: Bug
>          Components: Transactions
>            Reporter: Deepesh Khandelwal
>            Assignee: Deepesh Khandelwal
>         Attachments: HIVE-11902.patch
>
>
> When cleaning left over transactions we see the DeadTxnReaper code threw the following
exception:
> {noformat}
> 2015-09-21 05:23:38,148 WARN  [DeadTxnReaper-0]: txn.TxnHandler (TxnHandler.java:performTimeOuts(1876))
- Aborting timedout transactions failed due to You have an error in your SQL syntax; check
the manual that corresponds to your MySQL server version for the right syntax to use near
')' at line 1(SQLState=42000,ErrorCode=1064)
> com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your
SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax
to use near ')' at line 1
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>         at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)
>         at com.mysql.jdbc.Util.getInstance(Util.java:360)
>         at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978)
>         at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)
>         at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)
>         at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)
>         at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)
>         at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2526)
>         at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1618)
>         at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1549)
>         at com.jolbox.bonecp.StatementHandle.executeUpdate(StatementHandle.java:497)
>         at org.apache.hadoop.hive.metastore.txn.TxnHandler.abortTxns(TxnHandler.java:1275)
>         at org.apache.hadoop.hive.metastore.txn.TxnHandler.performTimeOuts(TxnHandler.java:1866)
>         at org.apache.hadoop.hive.ql.txn.AcidHouseKeeperService$TimedoutTxnReaper.run(AcidHouseKeeperService.java:87)
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>         at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
>         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)
> {noformat}
> The problem here is that the method {{abortTxns(Connection dbConn, List<Long> txnids)}}
in metastore/src/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java creates the following
bad query when txnids list is empty.
> {code}
> delete from HIVE_LOCKS where hl_txnid in ();
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message