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

Devaraj Das updated HBASE-6758:
-------------------------------

    Attachment: 6758-1-0.92.patch

Attaching a patch for 0.92. The main idea is that at the beginning of the main 
loop in replication executor's run method, it is checked whether the file 
pointed to by getCurrentPath is presently in use by the WAL for writing. If so, 
all the methods that are invoked later on in the present iteration of the loop 
skips those operations that would remove the file from the ZK queue, or, 
consider a file has been completely replicated.

With this patch, I haven't observed failures in TestReplication.queueFailover 
(for the reason mentioned in the jira Description) for 100s of runs.
                
> [replication] The replication-executor should make sure the file that it is 
> replicating is closed before declaring success on that file
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-6758
>                 URL: https://issues.apache.org/jira/browse/HBASE-6758
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Devaraj Das
>            Assignee: Devaraj Das
>         Attachments: 6758-1-0.92.patch
>
>
> I have seen cases where the replication-executor would lose data to replicate 
> since the file hasn't been closed yet. Upon closing, the new data becomes 
> visible. Before that happens the ZK node shouldn't be deleted in 
> ReplicationSourceManager.logPositionAndCleanOldLogs. Changes need to be made 
> in ReplicationSource.processEndOfFile as well (currentPath related).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to