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 
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

Reply via email to