You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Elliott Clark (JIRA)" <ji...@apache.org> on 2015/11/19 01:48:11 UTC

[jira] [Resolved] (HBASE-14811) HBaseInterClusterReplicationEndpoint retry logic is broken

     [ https://issues.apache.org/jira/browse/HBASE-14811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Elliott Clark resolved HBASE-14811.
-----------------------------------
    Resolution: Duplicate

> 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.0.2, 1.2.0, 1.2.1, 0.98.16
>            Reporter: Ashu Pachauri
>            Assignee: Ashu Pachauri
>            Priority: Critical
>
> 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)