You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Chaoyu Tang (JIRA)" <ji...@apache.org> on 2015/10/23 21:50:27 UTC

[jira] [Created] (HIVE-12248) The rawStore used in DBTokenStore should be thread-safe

Chaoyu Tang created HIVE-12248:
----------------------------------

             Summary: 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)