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/18 17:43:07 UTC

[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13278881#comment-13278881 ] 

ramkrishna.s.vasudevan commented on HBASE-6050:
-----------------------------------------------

Why are we trying to create the dstdir? What is the reason for it?
Is the fix to be applied here or on the HBCK side so that he does not think that there is some inconsistency?
But if we make this change in HBCK we are not sure how to delete the recovered.edits file created because master will never try to open this region?
                
> 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
>
> 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