[
https://issues.apache.org/jira/browse/HIVE-18693?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16364964#comment-16364964
]
Steve Yeom commented on HIVE-18693:
-----------------------------------
The problem is simple:
DbTxnManager.acquireLocks(..) does not set a flag "isAcid" for LockComponent
object for the
MM table and thus a row for the MM table is not inserted into TXN_COMPONENTS.
So when compaction initiator calls a method to delete
empty-component-transactions,
the aborted transaction, let's say, id 25, at step# 5 is deleted (but this
transaction left delta directory).
Then SELECT at 8 does not contain 25 as aborted transaction in its ValidTxnList
because the metadata in the Metastore for transaction 25 is gone. So the SELECT
decides that the delta directory for 25 is valid and returns
the row.
> TestTxnCommands2#writeBetweenWorkerAndCleaner fails on MM table
> ---------------------------------------------------------------
>
> Key: HIVE-18693
> URL: https://issues.apache.org/jira/browse/HIVE-18693
> Project: Hive
> Issue Type: Bug
> Components: Transactions
> Reporter: Steve Yeom
> Assignee: Steve Yeom
> Priority: Major
>
> TestTxnCommands2#writeBetweenWorkerAndCleaner with minor
> changes (changing delete command to insert command) fails on MM table.
> Specifically the last SELECT commands returns wrong results.
> But this test works fine with full ACID table.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)