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

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

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

        

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

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13070065#comment-13070065 ] 

stack commented on HBASE-4130:
------------------------------

Yes, what Ted says.  At head of class it says "This class is not thread safe for updates; the underlying write buffer can be corrupted if multiple threads contend over a single HTable instance."

Can we close this issue?

> 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

        

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

Posted by "Ted Yu (JIRA)" <ji...@apache.org>.
    [ 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

        

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

Posted by "Zizon (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4130?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Zizon resolved HBASE-4130.
--------------------------

       Resolution: Not A Problem
    Fix Version/s: 0.90.3

not a bug as by design.

> 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
>             Fix For: 0.90.3
>
>
> 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