Dimas Shidqi Parikesit created HBASE-30043:
----------------------------------------------

             Summary: Truncate procedure with recovery enabled could process 
non-existent regions if run concurrently with merge procedure
                 Key: HBASE-30043
                 URL: https://issues.apache.org/jira/browse/HBASE-30043
             Project: HBase
          Issue Type: Bug
            Reporter: Dimas Shidqi Parikesit


During truncate recovery, the procedure can release the region lock between 
states. If that region gets merged away in that gap, the truncate procedure 
could still try to unassign/reassign or touch filesystem state for a region 
that no longer exists. 

The proposed fix adds an existence check before MAKE_OFFLINE, centralizes 
region-node lookup in a helper that throws UnknownRegionException when the 
region is gone, and makes rollback only reassign if the region still exists and 
is in an offline/closed state.

The tests verify two things: truncate fails cleanly instead of recreating state 
or scheduling child procedures, and rollback also does not recreate the removed 
region or queue assigned work.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to