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

Bhupendra Kumar Jain commented on HBASE-14777:
----------------------------------------------

Thanks Ashu and Appy
I was on festival vacation, So didn't check this further. 

V3 looks good. Can you also add the failure scenario in test 
case(DummyReplicator can throw exception). This can cover the scenarios when 
entry from entryLists should not be removed and retried. 

Initially I observed the index problem during my code review and during 
simulation of the same, I was printing the index returned from the future like 
below code
{code}
int i = (int)f.get();
entryLists.remove(i);
{code}
Since I was assigning as int , so thats the reason, I got 
IndexOutOfBoundsException. But as [~ashu210890] pointed out, before index 
problem, the other problem of removal exists. 

Thanks for looking into this

> Replication fails with IndexOutOfBoundsException
> ------------------------------------------------
>
>                 Key: HBASE-14777
>                 URL: https://issues.apache.org/jira/browse/HBASE-14777
>             Project: HBase
>          Issue Type: Bug
>          Components: Replication
>            Reporter: Bhupendra Kumar Jain
>            Assignee: Bhupendra Kumar Jain
>            Priority: Critical
>             Fix For: 2.0.0, 1.2.0, 1.3.0
>
>         Attachments: HBASE-14777-1.patch, HBASE-14777-2.patch, 
> HBASE-14777-3.patch, HBASE-14777.patch
>
>
> Replication fails with IndexOutOfBoundsException 
> {code}
> regionserver.ReplicationSource$ReplicationSourceWorkerThread(939): 
> org.apache.hadoop.hbase.replication.regionserver.HBaseInterClusterReplicationEndpoint
>  threw unknown exception:java.lang.IndexOutOfBoundsException: Index: 1, Size: 
> 1
>       at java.util.ArrayList.rangeCheck(Unknown Source)
>       at java.util.ArrayList.remove(Unknown Source)
>       at 
> org.apache.hadoop.hbase.replication.regionserver.HBaseInterClusterReplicationEndpoint.replicate(HBaseInterClusterReplicationEndpoint.java:222)
> {code}
> Its happening due to incorrect removal of entries from the replication 
> entries list. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to