You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Eugene Koifman (JIRA)" <ji...@apache.org> on 2018/10/27 00:02:00 UTC

[jira] [Created] (HIVE-20823) Make Compactor run in a transaction

Eugene Koifman created HIVE-20823:
-------------------------------------

             Summary: Make Compactor run in a transaction
                 Key: HIVE-20823
                 URL: https://issues.apache.org/jira/browse/HIVE-20823
             Project: Hive
          Issue Type: Improvement
          Components: Transactions
    Affects Versions: 3.0.0
            Reporter: Eugene Koifman
            Assignee: Eugene Koifman


Have compactor open a transaction and run the job in that transaction.
# make compactor produced base/delta include this txn id in the folder name, e.g. base_7_c17 where 17 is the txnid.
# add {{CQ_TXN_ID bigint}} to COMPACTION_QUEUE and COMPLETED_COMPACTIONS to record this txn id
# make sure {{AcidUtils.getAcidState()}} pays attention to this transaction on read and ignores this dir if this txn id is not committed in the current snapshot
## this means not only validWriteIdList but ValidTxnIdList should be passed along in config (if it isn't yet)
# once this is done, {{CompactorMR.createCompactorMarker()}} can be eliminated and {{AcidUtils.isValidBase}} modified accordingly
# modify Cleaner so that it doesn't clean old files until new file is visible to all readers
# 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)