You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Dimas Shidqi Parikesit (Jira)" <ji...@apache.org> on 2026/03/29 16:20:00 UTC

[jira] [Created] (HBASE-30043) Truncate procedure with recovery enabled could process non-existent regions if run concurrently with merge procedure

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)