hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Zhihong Yu (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-6050) HLogSplitter renaming recovered.edits and CJ removing the parent directory race, making the HBCK think cluster is inconsistent.
Date Sun, 27 May 2012 01:03:23 GMT

     [ https://issues.apache.org/jira/browse/HBASE-6050?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Zhihong Yu updated HBASE-6050:
------------------------------

    Hadoop Flags: Reviewed
         Summary: HLogSplitter renaming recovered.edits and CJ removing the parent directory
race, making the HBCK think cluster is inconsistent.  (was: HLogSplitter renaming recovered.edits
and CJ removing the parent directory races, making the HBCK to think cluster is inconsistent.)
    
> HLogSplitter renaming recovered.edits and CJ removing the parent directory race, making
the HBCK 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

        

Mime
View raw message