Ashu Pachauri created HBASE-14811:
-------------------------------------

             Summary: HBaseInterClusterReplicationEndpoint retry logic is broken
                 Key: HBASE-14811
                 URL: https://issues.apache.org/jira/browse/HBASE-14811
             Project: HBase
          Issue Type: Bug
          Components: Replication
    Affects Versions: 2.0.0, 1.2.0, 1.2.1
            Reporter: Ashu Pachauri
            Assignee: Ashu Pachauri


In HBaseInterClusterReplicationEndpoint, we do something like this:
{code}
entryLists.remove(f.get());
{code}

where f.get() returns an ordinal number which represents the index of the 
element in the entryLists that just succeeded replicating. We remove these 
entries because we want to retry with remaining elements in the list in case of 
a failure. Since entryLists is an ArrayList, the subsequent elements are 
shifted left in case we remove an element. This breaks the intended 
functionality. The fix is to reverse sort the ordinals and then perform the 
deletion in one go.



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

Reply via email to