Peter Vary created HIVE-22116:
---------------------------------

             Summary: MaterializedView refresh check might return incorrect 
result when Compaction is run
                 Key: HIVE-22116
                 URL: https://issues.apache.org/jira/browse/HIVE-22116
             Project: Hive
          Issue Type: Bug
          Components: Materialized views
            Reporter: Peter Vary


Reading the code of TxnHandler.getMaterializationInvalidationInfo I see that we 
decide on the freshness of the view based on the COMPLETED_TXN_COMPONENTS 
table. 
See: 
[https://github.com/apache/hive/blob/master/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java#L2021]
On the other hand if we run a major compaction we clean up 
COMPLETED_TXN_COMPONENTS table, so we lose all previous information. We do it 
in CompactionTxnHandler.markCleaned.
See: 
[https://github.com/apache/hive/blob/master/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/CompactionTxnHandler.java#L382]
 
When the following sequence of events happen we do not refresh the materialized 
view:
- Create Table
- Create MV
- Refresh MV
- Update Table
- Start major compaction
- Wait until compacted, and cleaned
- Select Table



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to