Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.3.1, 2.1.0
-
None
-
None
Description
If there is a overlap in hbase, it can not be fixed completely with hbck, because there is old regioninfo in master regionStates.
Key reproducible steps:
1.Constructing a overlap scenario(region1 and region2 have the same startKey,region1 is opend on the regionserver1,region2 is opend on the regionserver2)
2.use hbck repair
3.regionserver1 or regionserver2 aborted
4.region1 or region2 is reopened
Master should provide the ability to remove a specified region, and hbck uses the ability.
public deleteSpecifiedRegion(regionName){ if(MetaTableAccessor.getRegionResult(regionName)==null){ RegionStates.removeRegion(regionName) } }