Alan Gates created HIVE-18776:

             Summary: MaterializationsInvalidationCache loading causes race 
condition in the metastore
                 Key: HIVE-18776
             Project: Hive
          Issue Type: Bug
          Components: Materialized views, Metastore
    Affects Versions: 3.0.0
            Reporter: Alan Gates
            Assignee: Jesus Camacho Rodriguez

I am seeing occasional failures running metastore tests where operations are 
failing saying that there is no open transaction.  I have traced this to a race 
condition in loading the materialized view invalidation cache.  When it is 
initialized (either in HiveMetaStoreClient in embedded mode or in HiveMetaStore 
in remote mode) it grabs a copy of the current RawStore instance and then loads 
the cache in a separate thread.  But ObjectStore keeps state regarding JDO 
transactions with the underlying RDBMS.  So with the loader thread and the 
initial thread both doing operations against the RawStore they sometimes mess 
up each others transaction stack.  In a quick test I used 
HMSHandler.newRawStoreForConf() to fix this, which seemed to work.

A reference to the TxnHandler is also called.  I suspect this will run into a 
similar issue.

This message was sent by Atlassian JIRA

Reply via email to