[ https://issues.apache.org/jira/browse/HBASE-6050?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13287181#comment-13287181 ]
Hudson commented on HBASE-6050: ------------------------------- Integrated in HBase-0.94-security #33 (See [https://builds.apache.org/job/HBase-0.94-security/33/]) HBASE-6050 HLogSplitter renaming recovered.edits and CJ removing the parent directory races, making the HBCK to think cluster is inconsistent. (Ram) (Revision 1342934) Result = FAILURE ramkrishna : Files : * /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLogSplitter.java > 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 > Affects Versions: 0.92.1, 0.94.0 > Reporter: ramkrishna.s.vasudevan > Assignee: ramkrishna.s.vasudevan > Fix For: 0.92.2, 0.96.0, 0.94.1 > > 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