From 67218b902e6881ee9488e90e205e1f17b6839eee Mon Sep 17 00:00:00 2001 From: Andrew Purtell Date: Wed, 20 Oct 2021 08:50:05 -0700 Subject: [PATCH] HBASE-26383 HBCK incorrectly reports inconsistencies for recently split regions following a master failover A regression was introduced by HBASE-25847 which changed regionInfo#isParentSplit to regionState#isSplit. The region state after restart is CLOSED instead of SPLIT. We need to check both regionState and regionInfo for split status. --- .../main/java/org/apache/hadoop/hbase/master/HbckChore.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HbckChore.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HbckChore.java index 917a8d3ba783..43f451efed8c 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HbckChore.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HbckChore.java @@ -223,7 +223,8 @@ private void loadRegionsFromInMemoryState() { .isTableState(regionInfo.getTable(), TableState.State.DISABLED)) { disabledTableRegions.add(regionInfo.getRegionNameAsString()); } - if (regionState.isSplit()) { + // Check both state and regioninfo for split status, see HBASE-26383 + if (regionState.isSplit() || regionInfo.isSplit()) { splitParentRegions.add(regionInfo.getRegionNameAsString()); } HbckRegionInfo.MetaEntry metaEntry =