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

Wei Zheng updated HIVE-15774:
-----------------------------
    Description: 
In pre-ACID days, users perform operations such as INSERT with either 
ZooKeeperHiveLockManager or no lock manager at all. If their workflow is 
designed to take advantage of no locking and they take care of the control of 
concurrency, this works well with good performance.

With ACID, if users enable transactions (i.e. using DbTxnManager & 
DbLockManager), then for all the operations, different types of locks will be 
acquired accordingly by DbLockManager, even for non-ACID resources. This may 
impact the performance of some workflows designed for pre-ACID use cases.

A viable solution would be to differentiate the locking mode for ACID and 
non-ACID resources, so that DbLockManager will continue its current behavior 
for ACID tables, but will be able to acquire a less strict lock type for 
non-ACID resources, thus avoiding the performance loss for those workflows.

  was:
In pre-ACID days, users perform operations such as INSERT with either 
ZooKeeperHiveLockManager or no lock manager at all. If their workflow is 
designed to take advantage of no locking and they take care of the control of 
concurrency, this works well with good performance.
With ACID, if users enable transactions (i.e. using DbTxnManager & 
DbLockManager), then for all the operations, different types of locks will be 
acquired accordingly by DbLockManager, even for non-ACID resources. This may 
impact the performance of some workflows designed for pre-ACID use cases.
A viable solution would be to differentiate the locking mode for ACID and 
non-ACID resources, so that DbLockManager will continue its current behavior 
for ACID tables, but will be able to acquire a less strict lock type for 
non-ACID resources, thus avoiding the performance loss for those workflows.


> Ensure DbLockManager backward compatibility for non-ACID resources
> ------------------------------------------------------------------
>
>                 Key: HIVE-15774
>                 URL: https://issues.apache.org/jira/browse/HIVE-15774
>             Project: Hive
>          Issue Type: Bug
>          Components: Hive, Transactions
>            Reporter: Wei Zheng
>            Assignee: Wei Zheng
>
> In pre-ACID days, users perform operations such as INSERT with either 
> ZooKeeperHiveLockManager or no lock manager at all. If their workflow is 
> designed to take advantage of no locking and they take care of the control of 
> concurrency, this works well with good performance.
> With ACID, if users enable transactions (i.e. using DbTxnManager & 
> DbLockManager), then for all the operations, different types of locks will be 
> acquired accordingly by DbLockManager, even for non-ACID resources. This may 
> impact the performance of some workflows designed for pre-ACID use cases.
> A viable solution would be to differentiate the locking mode for ACID and 
> non-ACID resources, so that DbLockManager will continue its current behavior 
> for ACID tables, but will be able to acquire a less strict lock type for 
> non-ACID resources, thus avoiding the performance loss for those workflows.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to