Esteban Gutierrez commented on HBASE-18024:

New patch adds an extra step in {{HRegion.initializeRegionInternals(}}:
if (this.getRegionInfo().getReplicaId() == HRegionInfo.DEFAULT_REPLICA_ID) {
      status.setStatus("Writing region info on filesystem");
Which basically only allows the primary replica to create a new {{.regioninfo}} 
when a region is instantiated.

> HRegion#initializeRegionInternals should not re-create .hregioninfo file when 
> the region directory no longer exists
> -------------------------------------------------------------------------------------------------------------------
>                 Key: HBASE-18024
>                 URL: https://issues.apache.org/jira/browse/HBASE-18024
>             Project: HBase
>          Issue Type: Bug
>          Components: Region Assignment, regionserver
>    Affects Versions: 2.0.0, 1.4.0, 1.3.1, 1.2.5
>            Reporter: Esteban Gutierrez
>            Assignee: Esteban Gutierrez
>         Attachments: HBASE-18024.001.patch, HBASE-18024.002.patch
> When a RegionSever attempts to open a region, during initialization the RS 
> tries to open the {{<hbase.root.dir>/data/<table>/<region>/.hregioninfo}} 
> file, however if the {{.hregioninfofile}} doesn't exist, the RegionServer 
> will create a new one on {{HRegionFileSystem#checkRegionInfoOnFilesystem}}. A 
> side effect of that tools like hbck will incorrectly assume an inconsistency 
> due the presence of this new {{.hregioninfofile}}

This message was sent by Atlassian JIRA

Reply via email to