You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Ted Yu (JIRA)" <ji...@apache.org> on 2011/07/23 16:33:09 UTC

[jira] [Commented] (HBASE-4130) HTable.flushCommits throws IndexOutOfBoundsException

    [ https://issues.apache.org/jira/browse/HBASE-4130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13069962#comment-13069962 ] 

Ted Yu commented on HBASE-4130:
-------------------------------

HTable has always been thread unsafe.

> HTable.flushCommits throws IndexOutOfBoundsException
> ----------------------------------------------------
>
>                 Key: HBASE-4130
>                 URL: https://issues.apache.org/jira/browse/HBASE-4130
>             Project: HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.90.3
>            Reporter: Zizon
>
> Using a HTable instance with auto commit disabled in multiple thread may raise IndexOutOfBoundsException , as the processBatchOfPuts remove the commited results by their index which may be wrong as the list size shortened by other thread.
> the following is the stack trace.
> java.lang.IndexOutOfBoundsException: Index: 3781, Size: 2222
> 	at java.util.ArrayList.RangeCheck(ArrayList.java:547)
> 	at java.util.ArrayList.remove(ArrayList.java:387)
> 	at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.processBatchOfPuts(HConnectionManager.java:1252)
> 	at org.apache.hadoop.hbase.client.HTable.flushCommits(HTable.java:826)
> 	at org.apache.hadoop.hbase.client.HTable.doPut(HTable.java:682)
> 	at org.apache.hadoop.hbase.client.HTable.put(HTable.java:667)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira