tanyastickles commented on code in PR #8700:
URL: https://github.com/apache/hbase/pull/8700#discussion_r4106706672


##########
hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStateStore.java:
##########
@@ -376,6 +376,11 @@ public void splitRegion(RegionInfo parent, RegionInfo 
splitA, RegionInfo splitB,
     Put putParent = MetaTableAccessor.makePutFromRegionInfo(
       
RegionInfoBuilder.newBuilder(parent).setOffline(true).setSplit(true).build(), 
time);
     MetaTableAccessor.addDaughtersToPut(putParent, splitA, splitB);
+    // Persist the terminal SPLIT state so that after a master failover 
loadMeta reconstructs the
+    // parent as state=SPLIT rather than falling back to OFFLINE, which would 
make it eligible for
+    // re-assignment via processOfflineRegions. See HBASE-30353.
+    MetaTableAccessor.addRegionStateToPut(putParent, 
RegionInfo.DEFAULT_REPLICA_ID,

Review Comment:
   we'd still need the `isSplit` check in 
AssignmentManager.createAssignProcedure (line 803). if the method is called 
with `override=true`, it would skip the `preTransitCheck` that validates that 
the region is `CLOSED` or `OFFLINE`.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to