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)