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)