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)