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

stack commented on HBASE-6758:
------------------------------

Rather than change all new Replication invocations to take a null, why not 
override the Replication constructor?  Your patch would be smaller.

Could there be issues with isFileInUse in multithreaded context?  Should 
currentFilePath be an atomic reference so all threads see the changes when they 
happen?  Do you think this an issue?

Do we have to pass in an HRegionServer instance into ReplicationSourceManager?  
Can it be one of the Interfaces Server or RegionServerServices?  Or looking at 
why you need it, you want it because you want to get at HLog instance.  Can we 
not pass this?  Or better, an Interface that has isFileInUse on it?

Currently, you are passing an HRegionServer Instance to 
ReplicationSourceManager to which is added a public method that exposes the 
HRegionServer instance on which we invoke the getWAL method to call 
isFileInUse.  We're adding a bit of tangle.

Otherwise, I love the fact that you are figuring bugs and fixes in replication 
just using the test.  Painful I'd imagine.  Great work.


                
> [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