hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chaoyu Tang (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HIVE-12248) The rawStore used in DBTokenStore should be thread-safe
Date Sat, 24 Oct 2015 16:42:27 GMT

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

Chaoyu Tang updated HIVE-12248:
-------------------------------
    Attachment: HIVE-12245.patch

> The rawStore used in DBTokenStore should be thread-safe
> -------------------------------------------------------
>
>                 Key: HIVE-12248
>                 URL: https://issues.apache.org/jira/browse/HIVE-12248
>             Project: Hive
>          Issue Type: Bug
>          Components: Authentication
>            Reporter: Chaoyu Tang
>            Assignee: Chaoyu Tang
>
> A non-thread-safe implementation of RawStore, particularly ObjectStore, set in DBTokenStore
is being shared by multi-threads, which causes the race condition in DataNuclues to access
the backend DB. 
> The DN PersistenceManager(PM) in ObjectStore is not thread safe, so DBTokenStore should
use a ThreadLocal ObjectStore.
> Following errors might be root caused by the race condition in DN PM.
> {code}
> Object of type "org.apache.hadoop.hive.metastore.model.MDelegationToken" is detached.
Detached objects cannot be used with this operation.
> org.datanucleus.exceptions.ObjectDetachedException: Object of type "org.apache.hadoop.hive.metastore.model.MDelegationToken"
is detached. Detached objects cannot be used with this operation.
> at org.datanucleus.ExecutionContextImpl.assertNotDetached(ExecutionContextImpl.java:5728)
> at org.datanucleus.ExecutionContextImpl.retrieveObject(ExecutionContextImpl.java:1859)
> at org.datanucleus.ExecutionContextThreadedImpl.retrieveObject(ExecutionContextThreadedImpl.java:203)
> at org.datanucleus.api.jdo.JDOPersistenceManager.jdoRetrieve(JDOPersistenceManager.java:605)
> at org.datanucleus.api.jdo.JDOPersistenceManager.retrieveAll(JDOPersistenceManager.java:693)
> at org.datanucleus.api.jdo.JDOPersistenceManager.retrieveAll(JDOPersistenceManager.java:713)
> at org.apache.hadoop.hive.metastore.ObjectStore.getAllTokenIdentifiers(ObjectStore.java:6517)

> {code}



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

Mime
View raw message