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];