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