[
https://issues.apache.org/jira/browse/HBASE-4878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13158199#comment-13158199
]
ramkrishna.s.vasudevan commented on HBASE-4878:
-----------------------------------------------
@Chunhui
{code}
status.setStatus("Archiving logs after completed split");
{code}
also needs to be moved before
{code}
archiveLogs(srcDir, corruptedLogs, processedLogs, oldLogDir, fs, conf);
{code}
Otherwise the status will be interleaved with
"Finishing writing output logs and closing down."
> 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
> Attachments: hbase-4878.diff
>
>
> 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