[
https://issues.apache.org/jira/browse/HIVE-16534?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15983882#comment-15983882
]
Eugene Koifman commented on HIVE-16534:
---------------------------------------
I think this needs some tests. For example,
_int index = Arrays.binarySearch(exceptions, txn);_should return -1 if txn is
not found.
which means _if (abortedBits.get(index)) {_ will fail with some
ArrayIndexOutOfBounds or something
ValidReadTxnList.isTxnRangeAborted() is doing (maxTxnId-minTxnId) binary
searches. Why not just do 1 for minTxnId and then use nextSetBit(int
fromIndex) to find next aborted txn and see if it equals minTxnId + 1, etc.
Also, you don't need to override isTxnRangeAborted() ValidCompactorTxnList.
some javadoc on new methods would be useful
> Add capability to tell aborted transactions apart from open transactions in
> ValidTxnList
> ----------------------------------------------------------------------------------------
>
> Key: HIVE-16534
> URL: https://issues.apache.org/jira/browse/HIVE-16534
> Project: Hive
> Issue Type: Bug
> Components: Transactions
> Reporter: Wei Zheng
> Assignee: Wei Zheng
> Attachments: HIVE-16534.1.patch
>
>
> Currently in ValidReadTxnList, open transactions and aborted transactions are
> stored together in one array. That makes it impossible to extract just
> aborted transactions or open transactions.
> For ValidCompactorTxnList this is fine, since we only store aborted
> transactions but no open transactions.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)