[
https://issues.apache.org/jira/browse/HIVE-16743?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16022251#comment-16022251
]
Eugene Koifman commented on HIVE-16743:
---------------------------------------
I think the issue is that the bad code is in
TxnUtils.createValidCompactTxnList() but all tests use ValidTxnList directly -
so it's never getting tested. Same for TxnUtils.createValidReadTxnList() -
both of which are a problem since they include vital logic.
Could you add a follow up ticket to address this please?
+1 this fix
> BitSet set() is not incorrectly used in TxnUtils.createValidCompactTxnList()
> ----------------------------------------------------------------------------
>
> Key: HIVE-16743
> URL: https://issues.apache.org/jira/browse/HIVE-16743
> Project: Hive
> Issue Type: Bug
> Components: Transactions
> Affects Versions: 3.0.0
> Reporter: Wei Zheng
> Assignee: Wei Zheng
> Attachments: HIVE-16743.1.patch
>
>
> The second line is problematic
> {code}
> BitSet bitSet = new BitSet(exceptions.length);
> bitSet.set(0, bitSet.length()); // for ValidCompactorTxnList, everything
> in exceptions are aborted
> {code}
> For example, exceptions' length is 2. We declare a BitSet object with initial
> size of 2 via the first line above. But that's not the actual size of the
> BitSet. So bitSet.length() will still return 0.
> The intention of the second line above is to set all the bits to true. This
> was not achieved because bitSet.set(0, bitSet.length()) is equivalent to
> bitSet.set(0, 0).
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)