You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "ramkrishna.s.vasudevan (JIRA)" <ji...@apache.org> on 2012/05/19 17:02:21 UTC
[jira] [Updated] (HBASE-6050) HLogSplitter renaming recovered.edits
and CJ removing the parent directory races, making the HBCK to think
cluster is inconsistent.
[ https://issues.apache.org/jira/browse/HBASE-6050?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ramkrishna.s.vasudevan updated HBASE-6050:
------------------------------------------
Status: Patch Available (was: Open)
> HLogSplitter renaming recovered.edits and CJ removing the parent directory races, making the HBCK to think cluster is inconsistent.
> -----------------------------------------------------------------------------------------------------------------------------------
>
> Key: HBASE-6050
> URL: https://issues.apache.org/jira/browse/HBASE-6050
> Project: HBase
> Issue Type: Bug
> Reporter: ramkrishna.s.vasudevan
> Attachments: HBASE-6050.patch
>
>
> The scenario is like this
> -> A region is getting splitted.
> -> The master is still not processed the split .
> -> Region server goes down.
> -> Split log manager starts splitting the logs and creates the recovered.edits in the splitlog path.
> -> CJ starts and deletes the entry from META and also just completes the deletion of the region dir.
> -> in hlogSplitter on final step we rename the recovered.edits to come under the regiondir.
> There if the regiondir doesnot exist we tend to create and then add the recovered.edits.
> Because of this HBCK thinks it to be an orphan region because we have the regiondir but with no regioninfo.
> Ideally cluster is fine but we it is misleading.
> {code}
> } else {
> Path dstdir = dst.getParent();
> if (!fs.exists(dstdir)) {
> if (!fs.mkdirs(dstdir)) LOG.warn("mkdir failed on " + dstdir);
> }
> }
> fs.rename(src, dst);
> LOG.debug(" moved " + src + " => " + dst);
> } else {
> LOG.debug("Could not move recovered edits from " + src +
> " as it doesn't exist");
> }
> }
> archiveLogs(null, corruptedLogs, processedLogs,
> oldLogDir, fs, conf);
> {code}
--
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