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

java.io.IOException: Not enough history available

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 3.0.0
    • 3.0.0
    • Transactions
    • None

    Description

      txnid:17 starts reading T2/P1

      txnid:20 does insert overwrite T1/P1, creates base_20, commits.  txnid:17 still running

      txnid:21 stars reading T1/P1.  It's ValidTxnList will txnid:17 as open.

      before Insert overwrite was supported, only the compactor could produce base_20 by running major compaction.  Major compaction erases history and so a reader with txnid:17 open, can't use base_20.

      Normally, the Cleaner is smart enough to not clean pre-compaction files if it's possible that there is a reader that requires them.  There is a safety check that creates "Not enough history.." error if it finds that the current reader can't properly execute based on the files available.

       

      with the introduction of IOW on acid tables, there is another way to produce a base.  The difference is that here, the base has no history by definition and so the same check is not needed but is triggered in the scenario above.

       

       

      Attachments

        1. HIVE-18589.01.patch
          5 kB
          Eugene Koifman
        2. HIVE-18589.02.patch
          42 kB
          Eugene Koifman

        Issue Links

          Activity

            People

              ekoifman Eugene Koifman
              ekoifman Eugene Koifman
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: