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

Reply via email to