[ https://issues.apache.org/jira/browse/HBASE-9098?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13726639#comment-13726639 ]
Jeffrey Zhong commented on HBASE-9098: -------------------------------------- Thanks for the very good catch. Just providing more background details. In file HRegionInfo.java as following: {code} public static HRegionInfo convert(final RegionInfo proto) { if (proto == null) return null; byte [] tableName = proto.getTableName().toByteArray(); if (Bytes.equals(tableName, HConstants.META_TABLE_NAME)) { return FIRST_META_REGIONINFO; } long regionId = proto.getRegionId(); {code} For META region recovery, we always return the constant FIRST_META_REGIONINFO whose recovering state is always false. The consequence is that we'll skip META region recovery. I'll use ZK as the source of truth in the fix so the problematic area should be fixed. > During recovery use ZK as the source of truth for region state > --------------------------------------------------------------- > > Key: HBASE-9098 > URL: https://issues.apache.org/jira/browse/HBASE-9098 > Project: HBase > Issue Type: Bug > Components: regionserver > Affects Versions: 0.95.0 > Reporter: Devaraj Das > Assignee: Jeffrey Zhong > Priority: Blocker > Fix For: 0.95.2 > > > In HLogSplitter:locateRegionAndRefreshLastFlushedSequenceId(HConnection, > byte[], byte[], String), we talk to the replayee regionserver to figure out > whether a region is in recovery or not. We should look at ZK only for this > piece of information (since that is the source of truth for recovery > otherwise). -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira