[ 
https://issues.apache.org/jira/browse/HIVE-8915?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alan Gates updated HIVE-8915:
-----------------------------
    Attachment: HIVE-8915.patch

This patch makes it so that the worker and cleaner don't go into a tight loop 
throwing errors.  With this patch, if the transaction tables aren't in the 
database the logs are around 200K.

[~owen.omalley] suggested that we should make it so that the metastore died if 
the proper tables weren't in place.  We could still do that, but I felt that 
was separate from this patch because what this patch really fixed was making 
sure any error that occurred inside the compactor threads didn't result in a 
tight loop. 

> Log file explosion due to non-existence of COMPACTION_QUEUE table
> -----------------------------------------------------------------
>
>                 Key: HIVE-8915
>                 URL: https://issues.apache.org/jira/browse/HIVE-8915
>             Project: Hive
>          Issue Type: Bug
>          Components: Transactions
>    Affects Versions: 0.14.0, 0.15.0, 0.14.1
>            Reporter: Sushanth Sowmyan
>            Assignee: Alan Gates
>         Attachments: HIVE-8915.patch
>
>
> I hit an issue with a fresh set up of hive in a vm, where I did not have db 
> tables as specified by hive-txn-schema-0.14.0.mysql.sql created.
> On metastore startup, I got an endless loop of errors being populated to the 
> log file, which caused the log file to grow to 1.7GB in 5 minutes, with 950k 
> copies of the same error stack trace in it before I realized what was 
> happening and killed it. We should either have a delay of sorts to make sure 
> we don't endlessly respin on that error so quickly, or we should error out 
> and fail if we're not able to start.
> The stack trace in question is as follows:
> {noformat}
> 2014-11-19 01:44:57,654 ERROR compactor.Cleaner
> (Cleaner.java:run(143)) - Caught an exception in the main loop of
> compactor cleaner, MetaException(message:Unable to connect to
> transaction database
> com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table
> 'hive.COMPACTION_QUEUE' doesn't exist
> at sun.reflect.GeneratedConstructorAccessor20.newInstance(Unknown Source)
> at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
> at com.mysql.jdbc.Util.getInstance(Util.java:386)
> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)
> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3597)
> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3529)
> at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1990)
> at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2151)
> at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2619)
> at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2569)
> at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1524)
> at com.jolbox.bonecp.StatementHandle.executeQuery(StatementHandle.java:464)
> at 
> org.apache.hadoop.hive.metastore.txn.CompactionTxnHandler.findReadyToClean(CompactionTxnHandler.java:266)
> at org.apache.hadoop.hive.ql.txn.compactor.Cleaner.run(Cleaner.java:86)
> )
> at 
> org.apache.hadoop.hive.metastore.txn.CompactionTxnHandler.findReadyToClean(CompactionTxnHandler.java:291)
> at org.apache.hadoop.hive.ql.txn.compactor.Cleaner.run(Cleaner.java:86)
> {noformat}



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

Reply via email to