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