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

tanxinyu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new 262605e7657 RegionMigrateProcedure and RegionReconstructProcedure no 
longer acquire lock #15122
262605e7657 is described below

commit 262605e76576ce471aedd08a81179319f6bd51de
Author: Li Yu Heng <[email protected]>
AuthorDate: Thu Mar 20 12:18:05 2025 +0800

    RegionMigrateProcedure and RegionReconstructProcedure no longer acquire 
lock #15122
---
 .../procedure/env/ConfigNodeProcedureEnv.java      |  4 ---
 .../procedure/env/RegionMaintainHandler.java       |  8 ------
 .../impl/region/ReconstructRegionProcedure.java    | 33 ----------------------
 .../impl/region/RegionMigrateProcedure.java        | 33 ----------------------
 4 files changed, 78 deletions(-)

diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java
index e7529a1d5fc..246fbad29b0 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java
@@ -847,10 +847,6 @@ public class ConfigNodeProcedureEnv {
     return scheduler;
   }
 
-  public LockQueue getRegionMigrateLock() {
-    return regionMaintainHandler.getRegionMigrateLock();
-  }
-
   public ReentrantLock getSchedulerLock() {
     return schedulerLock;
   }
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/RegionMaintainHandler.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/RegionMaintainHandler.java
index 2ec8a85acc1..928f3cfcd37 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/RegionMaintainHandler.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/RegionMaintainHandler.java
@@ -45,7 +45,6 @@ import 
org.apache.iotdb.confignode.consensus.request.write.partition.RemoveRegio
 import org.apache.iotdb.confignode.manager.ConfigManager;
 import 
org.apache.iotdb.confignode.manager.load.cache.consensus.ConsensusGroupHeartbeatSample;
 import org.apache.iotdb.confignode.procedure.exception.ProcedureException;
-import org.apache.iotdb.confignode.procedure.scheduler.LockQueue;
 import org.apache.iotdb.mpp.rpc.thrift.TCreatePeerReq;
 import org.apache.iotdb.mpp.rpc.thrift.TMaintainPeerReq;
 import org.apache.iotdb.mpp.rpc.thrift.TRegionLeaderChangeResp;
@@ -78,9 +77,6 @@ public class RegionMaintainHandler {
 
   private final ConfigManager configManager;
 
-  /** region migrate lock */
-  private final LockQueue regionMigrateLock = new LockQueue();
-
   private final IClientManager<TEndPoint, SyncDataNodeInternalServiceClient> 
dataNodeClientManager;
 
   public RegionMaintainHandler(ConfigManager configManager) {
@@ -449,10 +445,6 @@ public class RegionMaintainHandler {
     return !isSucceed(status);
   }
 
-  public LockQueue getRegionMigrateLock() {
-    return regionMigrateLock;
-  }
-
   /**
    * Change the leader of given Region.
    *
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/region/ReconstructRegionProcedure.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/region/ReconstructRegionProcedure.java
index e3ea3471887..003e0c407b1 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/region/ReconstructRegionProcedure.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/region/ReconstructRegionProcedure.java
@@ -28,7 +28,6 @@ import 
org.apache.iotdb.confignode.procedure.env.ConfigNodeProcedureEnv;
 import org.apache.iotdb.confignode.procedure.exception.ProcedureException;
 import 
org.apache.iotdb.confignode.procedure.exception.ProcedureSuspendedException;
 import org.apache.iotdb.confignode.procedure.exception.ProcedureYieldException;
-import org.apache.iotdb.confignode.procedure.state.ProcedureLockState;
 import org.apache.iotdb.confignode.procedure.state.ReconstructRegionState;
 import org.apache.iotdb.confignode.procedure.store.ProcedureType;
 import org.apache.iotdb.db.utils.DateTimeUtils;
@@ -125,38 +124,6 @@ public class ReconstructRegionProcedure extends 
RegionOperationProcedure<Reconst
       ConfigNodeProcedureEnv configNodeProcedureEnv, ReconstructRegionState 
reconstructRegionState)
       throws IOException, InterruptedException, ProcedureException {}
 
-  @Override
-  protected ProcedureLockState acquireLock(ConfigNodeProcedureEnv 
configNodeProcedureEnv) {
-    configNodeProcedureEnv.getSchedulerLock().lock();
-    try {
-      if (configNodeProcedureEnv.getRegionMigrateLock().tryLock(this)) {
-        LOGGER.info("procedureId {} acquire lock.", getProcId());
-        return ProcedureLockState.LOCK_ACQUIRED;
-      }
-      configNodeProcedureEnv.getRegionMigrateLock().waitProcedure(this);
-
-      LOGGER.info("procedureId {} wait for lock.", getProcId());
-      return ProcedureLockState.LOCK_EVENT_WAIT;
-    } finally {
-      configNodeProcedureEnv.getSchedulerLock().unlock();
-    }
-  }
-
-  @Override
-  protected void releaseLock(ConfigNodeProcedureEnv configNodeProcedureEnv) {
-    configNodeProcedureEnv.getSchedulerLock().lock();
-    try {
-      LOGGER.info("procedureId {} release lock.", getProcId());
-      if (configNodeProcedureEnv.getRegionMigrateLock().releaseLock(this)) {
-        configNodeProcedureEnv
-            .getRegionMigrateLock()
-            .wakeWaitingProcedures(configNodeProcedureEnv.getScheduler());
-      }
-    } finally {
-      configNodeProcedureEnv.getSchedulerLock().unlock();
-    }
-  }
-
   @Override
   public void serialize(DataOutputStream stream) throws IOException {
     
stream.writeShort(ProcedureType.RECONSTRUCT_REGION_PROCEDURE.getTypeCode());
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/region/RegionMigrateProcedure.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/region/RegionMigrateProcedure.java
index df0483bbe42..1acdd2ccd54 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/region/RegionMigrateProcedure.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/region/RegionMigrateProcedure.java
@@ -27,7 +27,6 @@ import org.apache.iotdb.commons.utils.ThriftCommonsSerDeUtils;
 import org.apache.iotdb.confignode.procedure.env.ConfigNodeProcedureEnv;
 import org.apache.iotdb.confignode.procedure.env.RegionMaintainHandler;
 import org.apache.iotdb.confignode.procedure.exception.ProcedureException;
-import org.apache.iotdb.confignode.procedure.state.ProcedureLockState;
 import org.apache.iotdb.confignode.procedure.state.RegionTransitionState;
 import org.apache.iotdb.confignode.procedure.store.ProcedureType;
 import org.apache.iotdb.db.utils.DateTimeUtils;
@@ -144,38 +143,6 @@ public class RegionMigrateProcedure extends 
RegionOperationProcedure<RegionTrans
   protected void rollbackState(ConfigNodeProcedureEnv env, 
RegionTransitionState state)
       throws IOException, InterruptedException, ProcedureException {}
 
-  @Override
-  protected ProcedureLockState acquireLock(ConfigNodeProcedureEnv 
configNodeProcedureEnv) {
-    configNodeProcedureEnv.getSchedulerLock().lock();
-    try {
-      if (configNodeProcedureEnv.getRegionMigrateLock().tryLock(this)) {
-        LOGGER.info("procedureId {} acquire lock.", getProcId());
-        return ProcedureLockState.LOCK_ACQUIRED;
-      }
-      configNodeProcedureEnv.getRegionMigrateLock().waitProcedure(this);
-
-      LOGGER.info("procedureId {} wait for lock.", getProcId());
-      return ProcedureLockState.LOCK_EVENT_WAIT;
-    } finally {
-      configNodeProcedureEnv.getSchedulerLock().unlock();
-    }
-  }
-
-  @Override
-  protected void releaseLock(ConfigNodeProcedureEnv configNodeProcedureEnv) {
-    configNodeProcedureEnv.getSchedulerLock().lock();
-    try {
-      LOGGER.info("procedureId {} release lock.", getProcId());
-      if (configNodeProcedureEnv.getRegionMigrateLock().releaseLock(this)) {
-        configNodeProcedureEnv
-            .getRegionMigrateLock()
-            .wakeWaitingProcedures(configNodeProcedureEnv.getScheduler());
-      }
-    } finally {
-      configNodeProcedureEnv.getSchedulerLock().unlock();
-    }
-  }
-
   @Override
   protected RegionTransitionState getState(int stateId) {
     return RegionTransitionState.values()[stateId];

Reply via email to