Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-22116

MaterializedView refresh check might return incorrect result when Compaction is run

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 4.0.0-alpha-1
    • Materialized views
    • None

    Description

      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

      Attachments

        Issue Links

          Activity

            People

              jcamacho Jesús Camacho Rodríguez
              pvary Peter Vary
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: