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;