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

chunhui shen commented on HBASE-4878:
-------------------------------------

I think the correct correct is 
putting the line archiveLogs(srcDir, corruptedLogs, processedLogs, oldLogDir, 
fs, conf);
in the end
                
> Master crash when spliting hlog may cause data loss
> ---------------------------------------------------
>
>                 Key: HBASE-4878
>                 URL: https://issues.apache.org/jira/browse/HBASE-4878
>             Project: HBase
>          Issue Type: Bug
>            Reporter: chunhui shen
>
> Let's see the code of HlogSplitter#splitLog(final FileStatus[] logfiles)
> {code}
> private List<Path> splitLog(final FileStatus[] logfiles) throws IOException {
>  try {
>   for (FileStatus log : logfiles) {
>   parseHLog(in, logPath, entryBuffers, fs, conf, skipErrors);
>  }
>  archiveLogs(srcDir, corruptedLogs, processedLogs, oldLogDir, fs, conf);
>  } finally {
>       status.setStatus("Finishing writing output logs and closing down.");
>       splits = outputSink.finishWritingAndClose();
>     }
> }
> {code}
> If master is killed, after finishing archiveLogs(srcDir, corruptedLogs, 
> processedLogs, oldLogDir, fs, conf), 
> but before finishing splits = outputSink.finishWritingAndClose();
> Log date would loss!

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to