You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Eugene Koifman (JIRA)" <ji...@apache.org> on 2016/01/06 23:56:39 UTC

[jira] [Commented] (HIVE-11388) there should only be 1 Initiator for compactions per Hive installation

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

Eugene Koifman commented on HIVE-11388:
---------------------------------------

I don't think "intervening commits" are an issue.  Suppose getMutex() works like this:
1. get jdbc connection
2. run "select for update"
3. return "Handle" - which wraps connection/statement object.

Then releaseMutex() will take "Handle" as parameter to commit/rollback to "release" the lock.
So if any other operation uses a separate jdbc connection to do work, it will be done with a "protected" block bounded by getMutex()/releaseMutex(Handle)



> there should only be 1 Initiator for compactions per Hive installation
> ----------------------------------------------------------------------
>
>                 Key: HIVE-11388
>                 URL: https://issues.apache.org/jira/browse/HIVE-11388
>             Project: Hive
>          Issue Type: Bug
>          Components: Transactions
>    Affects Versions: 1.0.0
>            Reporter: Eugene Koifman
>            Assignee: Eugene Koifman
>            Priority: Critical
>
> org.apache.hadoop.hive.ql.txn.compactor.Initiator is a thread that runs inside the metastore service to manage compactions of ACID tables.  There should be exactly 1 instance of this thread (even with multiple Thrift services).
> This is documented in https://cwiki.apache.org/confluence/display/Hive/Hive+Transactions#HiveTransactions-Configuration but not enforced.
> Should add enforcement, since more than 1 Initiator could cause concurrent attempts to compact the same table/partition - which will not work.



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