This is an automated email from the ASF dual-hosted git repository. andor pushed a commit to branch HBASE-29081 in repository https://gitbox.apache.org/repos/asf/hbase.git
commit b808b90323bbe58352b7c50a1c2bfb6605086123 Author: Kota-SH <[email protected]> AuthorDate: Wed Mar 25 14:56:48 2026 -0500 HBASE-30014: refresh_meta not working due to regionNode lock (#7974) --- .../hadoop/hbase/master/assignment/AssignmentManager.java | 10 +++++++--- .../hadoop/hbase/util/TestCoprocessorConfigurationUtil.java | 4 ++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java index fbe89c3eb32..21692083bd3 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java @@ -797,8 +797,10 @@ public class AssignmentManager { preTransitCheck(regionNode, STATES_EXPECTED_ON_ASSIGN); } assert regionNode.getProcedure() == null; - return regionNode.setProcedure( + TransitRegionStateProcedure proc = regionNode.setProcedure( TransitRegionStateProcedure.assign(getProcedureEnvironment(), regionInfo, sn)); + regionInTransitionTracker.handleRegionStateNodeOperation(regionNode); + return proc; } finally { regionNode.unlock(); } @@ -813,8 +815,10 @@ public class AssignmentManager { ServerName targetServer) { regionNode.lock(); try { - return regionNode.setProcedure(TransitRegionStateProcedure.assign(getProcedureEnvironment(), - regionNode.getRegionInfo(), targetServer)); + TransitRegionStateProcedure proc = regionNode.setProcedure(TransitRegionStateProcedure + .assign(getProcedureEnvironment(), regionNode.getRegionInfo(), targetServer)); + regionInTransitionTracker.handleRegionStateNodeOperation(regionNode); + return proc; } finally { regionNode.unlock(); } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestCoprocessorConfigurationUtil.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestCoprocessorConfigurationUtil.java index eeda7194982..16b68388ed5 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestCoprocessorConfigurationUtil.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestCoprocessorConfigurationUtil.java @@ -34,9 +34,13 @@ import org.apache.hadoop.hbase.security.access.EndpointReadOnlyController; import org.apache.hadoop.hbase.security.access.MasterReadOnlyController; import org.apache.hadoop.hbase.security.access.RegionReadOnlyController; import org.apache.hadoop.hbase.security.access.RegionServerReadOnlyController; +import org.apache.hadoop.hbase.testclassification.CoprocessorTests; +import org.apache.hadoop.hbase.testclassification.SmallTests; import org.junit.Before; import org.junit.Test; +import org.junit.experimental.categories.Category; +@Category({ CoprocessorTests.class, SmallTests.class }) public class TestCoprocessorConfigurationUtil { private Configuration conf;
