This is an automated email from the ASF dual-hosted git repository.

andor pushed a commit to branch HBASE-29081_rebased
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/HBASE-29081_rebased by this 
push:
     new 1dd61626c25 HBASE-30014: refresh_meta not working due to regionNode 
lock (#7974)
1dd61626c25 is described below

commit 1dd61626c2544dc6750de16f4639bff99bfcbd94
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;

Reply via email to