hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sergio Peña (JIRA) <j...@apache.org>
Subject [jira] [Commented] (HIVE-18941) HMS non-transactional listener may be called in transactional context
Date Wed, 14 Mar 2018 17:50:00 GMT

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

Sergio Peña commented on HIVE-18941:
------------------------------------

[~akolb] and for the person who will work on this issue. There is a logic on the MetaStoreListenerNotifier.notifyEvent()
methods that add a flag to the listener response parameters that specify whether such listener
is executed inside an active transaction or not. This was very useful for Sentry to detect
if some non-listener calls where indeed called inside a current transaction and ignore them
if they are.

The logic is like this:
{noformat}
if (ms != null) {
    event.putParameter(HIVE_METASTORE_TRANSACTION_ACTIVE, Boolean.toString(ms.isActiveTransaction()));
}
{noformat}
See the code:
[https://github.com/apache/hive/blob/master/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreListenerNotifier.java#L291]

 

 

> HMS non-transactional listener may be called in transactional context
> ---------------------------------------------------------------------
>
>                 Key: HIVE-18941
>                 URL: https://issues.apache.org/jira/browse/HIVE-18941
>             Project: Hive
>          Issue Type: Bug
>          Components: Metastore
>    Affects Versions: 2.0.2, 3.0.0
>            Reporter: Alexander Kolbasov
>            Priority: Major
>
> When HMS code calls listeners it assumes that they are *not* called as part of the transaction.
This isn't quite true because of the nested transaction - it is quite possible that these
listeners are called as part of the bigger nested transaction. This causes several potential
issues:
> 1) It changes the assumptions about the context in which these listeners run
> 2) It creates possibilities for deadlocks
> 3) Some of these listeners may do relative long operations which may delay transaction
commits.
> [~spena] FYI.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message