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

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


The following commit(s) were added to refs/heads/master by this push:
     new f5a4dd8c752 Remove DistributedLockHolder (#35112)
f5a4dd8c752 is described below

commit f5a4dd8c7520834b6bd7698085ed5ebabb90417f
Author: Liang Zhang <zhangli...@apache.org>
AuthorDate: Sun Mar 30 23:07:03 2025 +0800

    Remove DistributedLockHolder (#35112)
---
 .../fixture/ClusterPersistRepositoryFixture.java   |  8 ---
 .../cluster/ClusterPersistRepository.java          |  8 ---
 .../cluster/lock/holder/DistributedLockHolder.java | 57 ----------------------
 .../repository/cluster/etcd/EtcdRepository.java    |  9 ----
 .../cluster/zookeeper/ZookeeperRepository.java     |  9 ----
 .../cluster/zookeeper/ZookeeperRepositoryTest.java | 12 -----
 .../fixture/ProxyPersistRepositoryFixture.java     |  8 ---
 7 files changed, 111 deletions(-)

diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/fixture/ClusterPersistRepositoryFixture.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/fixture/ClusterPersistRepositoryFixture.java
index b2ed671279d..6a5a175d53f 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/fixture/ClusterPersistRepositoryFixture.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/fixture/ClusterPersistRepositoryFixture.java
@@ -22,13 +22,10 @@ import 
org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepositor
 import 
org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepositoryConfiguration;
 import 
org.apache.shardingsphere.mode.repository.cluster.listener.DataChangedEventListener;
 import org.apache.shardingsphere.mode.repository.cluster.lock.DistributedLock;
-import 
org.apache.shardingsphere.mode.repository.cluster.lock.holder.DistributedLockHolder;
-import 
org.apache.shardingsphere.mode.repository.cluster.core.lock.props.DefaultLockTypedProperties;
 
 import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
-import java.util.Properties;
 
 public final class ClusterPersistRepositoryFixture implements 
ClusterPersistRepository {
     
@@ -68,11 +65,6 @@ public final class ClusterPersistRepositoryFixture 
implements ClusterPersistRepo
         return true;
     }
     
-    @Override
-    public Optional<DistributedLockHolder> getDistributedLockHolder() {
-        return Optional.of(new DistributedLockHolder("default", this, new 
DefaultLockTypedProperties(new Properties())));
-    }
-    
     @Override
     public Optional<DistributedLock> getDistributedLock(final String lockKey) {
         return Optional.empty();
diff --git 
a/mode/type/cluster/repository/api/src/main/java/org/apache/shardingsphere/mode/repository/cluster/ClusterPersistRepository.java
 
b/mode/type/cluster/repository/api/src/main/java/org/apache/shardingsphere/mode/repository/cluster/ClusterPersistRepository.java
index bd1db5ab955..6e31b7579e6 100644
--- 
a/mode/type/cluster/repository/api/src/main/java/org/apache/shardingsphere/mode/repository/cluster/ClusterPersistRepository.java
+++ 
b/mode/type/cluster/repository/api/src/main/java/org/apache/shardingsphere/mode/repository/cluster/ClusterPersistRepository.java
@@ -20,7 +20,6 @@ package org.apache.shardingsphere.mode.repository.cluster;
 import org.apache.shardingsphere.infra.instance.ComputeNodeInstanceContext;
 import 
org.apache.shardingsphere.mode.repository.cluster.listener.DataChangedEventListener;
 import org.apache.shardingsphere.mode.repository.cluster.lock.DistributedLock;
-import 
org.apache.shardingsphere.mode.repository.cluster.lock.holder.DistributedLockHolder;
 import org.apache.shardingsphere.mode.spi.repository.PersistRepository;
 
 import java.util.Optional;
@@ -55,13 +54,6 @@ public interface ClusterPersistRepository extends 
PersistRepository {
      */
     boolean persistExclusiveEphemeral(String key, String value);
     
-    /**
-     * Get distributed lock holder.
-     *
-     * @return distributed lock holder
-     */
-    Optional<DistributedLockHolder> getDistributedLockHolder();
-    
     /**
      * Get distributed lock.
      *
diff --git 
a/mode/type/cluster/repository/api/src/main/java/org/apache/shardingsphere/mode/repository/cluster/lock/holder/DistributedLockHolder.java
 
b/mode/type/cluster/repository/api/src/main/java/org/apache/shardingsphere/mode/repository/cluster/lock/holder/DistributedLockHolder.java
deleted file mode 100644
index 1970effb765..00000000000
--- 
a/mode/type/cluster/repository/api/src/main/java/org/apache/shardingsphere/mode/repository/cluster/lock/holder/DistributedLockHolder.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.mode.repository.cluster.lock.holder;
-
-import org.apache.shardingsphere.infra.props.TypedProperties;
-import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
-import org.apache.shardingsphere.mode.repository.cluster.lock.DistributedLock;
-import 
org.apache.shardingsphere.mode.repository.cluster.lock.creator.DistributedLockCreator;
-
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-/**
- * Distributed lock holder.
- */
-public final class DistributedLockHolder {
-    
-    private final DistributedLockCreator<Object, TypedProperties<?>> creator;
-    
-    private final Object client;
-    
-    private final TypedProperties<?> props;
-    
-    private final Map<String, DistributedLock> locks = new 
ConcurrentHashMap<>();
-    
-    @SuppressWarnings("unchecked")
-    public DistributedLockHolder(final String type, final Object client, final 
TypedProperties<?> props) {
-        creator = TypedSPILoader.getService(DistributedLockCreator.class, 
type);
-        this.client = client;
-        this.props = props;
-    }
-    
-    /**
-     * Get distributed lock.
-     *
-     * @param lockKey lock key
-     * @return distributed lock
-     */
-    public DistributedLock getDistributedLock(final String lockKey) {
-        return locks.computeIfAbsent(lockKey, key -> creator.create(key, 
client, props));
-    }
-}
diff --git 
a/mode/type/cluster/repository/provider/etcd/src/main/java/org/apache/shardingsphere/mode/repository/cluster/etcd/EtcdRepository.java
 
b/mode/type/cluster/repository/provider/etcd/src/main/java/org/apache/shardingsphere/mode/repository/cluster/etcd/EtcdRepository.java
index 09ad849800a..59394a6bdf1 100644
--- 
a/mode/type/cluster/repository/provider/etcd/src/main/java/org/apache/shardingsphere/mode/repository/cluster/etcd/EtcdRepository.java
+++ 
b/mode/type/cluster/repository/provider/etcd/src/main/java/org/apache/shardingsphere/mode/repository/cluster/etcd/EtcdRepository.java
@@ -44,7 +44,6 @@ import 
org.apache.shardingsphere.mode.repository.cluster.etcd.props.EtcdProperti
 import 
org.apache.shardingsphere.mode.repository.cluster.etcd.props.EtcdPropertyKey;
 import 
org.apache.shardingsphere.mode.repository.cluster.listener.DataChangedEventListener;
 import org.apache.shardingsphere.mode.repository.cluster.lock.DistributedLock;
-import 
org.apache.shardingsphere.mode.repository.cluster.lock.holder.DistributedLockHolder;
 
 import java.nio.charset.StandardCharsets;
 import java.util.List;
@@ -67,8 +66,6 @@ public final class EtcdRepository implements 
ClusterPersistRepository {
     
     private EtcdProperties etcdProps;
     
-    private DistributedLockHolder distributedLockHolder;
-    
     @Override
     public void init(final ClusterPersistRepositoryConfiguration config, final 
ComputeNodeInstanceContext computeNodeInstanceContext) {
         etcdProps = new EtcdProperties(config.getProps());
@@ -76,7 +73,6 @@ public final class EtcdRepository implements 
ClusterPersistRepository {
                 .namespace(ByteSequence.from(config.getNamespace(), 
StandardCharsets.UTF_8))
                 .maxInboundMessageSize((int) 32e9)
                 .build();
-        distributedLockHolder = new DistributedLockHolder(getType(), client, 
etcdProps);
     }
     
     @SneakyThrows({InterruptedException.class, ExecutionException.class})
@@ -134,11 +130,6 @@ public final class EtcdRepository implements 
ClusterPersistRepository {
         return true;
     }
     
-    @Override
-    public Optional<DistributedLockHolder> getDistributedLockHolder() {
-        return Optional.of(distributedLockHolder);
-    }
-    
     @Override
     public Optional<DistributedLock> getDistributedLock(final String lockKey) {
         return Optional.of(new EtcdDistributedLock(lockKey, client, 
etcdProps));
diff --git 
a/mode/type/cluster/repository/provider/zookeeper/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/ZookeeperRepository.java
 
b/mode/type/cluster/repository/provider/zookeeper/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/ZookeeperRepository.java
index e1f15a850f8..f8ffdc9ef75 100644
--- 
a/mode/type/cluster/repository/provider/zookeeper/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/ZookeeperRepository.java
+++ 
b/mode/type/cluster/repository/provider/zookeeper/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/ZookeeperRepository.java
@@ -34,7 +34,6 @@ import 
org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepositor
 import 
org.apache.shardingsphere.mode.repository.cluster.exception.ClusterRepositoryPersistException;
 import 
org.apache.shardingsphere.mode.repository.cluster.listener.DataChangedEventListener;
 import org.apache.shardingsphere.mode.repository.cluster.lock.DistributedLock;
-import 
org.apache.shardingsphere.mode.repository.cluster.lock.holder.DistributedLockHolder;
 import 
org.apache.shardingsphere.mode.repository.cluster.zookeeper.exception.ZookeeperExceptionHandler;
 import 
org.apache.shardingsphere.mode.repository.cluster.zookeeper.listener.SessionConnectionReconnectListener;
 import 
org.apache.shardingsphere.mode.repository.cluster.zookeeper.lock.ZookeeperDistributedLock;
@@ -70,13 +69,10 @@ public final class ZookeeperRepository implements 
ClusterPersistRepository {
     
     private CuratorFramework client;
     
-    private DistributedLockHolder distributedLockHolder;
-    
     @Override
     public void init(final ClusterPersistRepositoryConfiguration config, final 
ComputeNodeInstanceContext computeNodeInstanceContext) {
         ZookeeperProperties zookeeperProps = new 
ZookeeperProperties(config.getProps());
         client = buildCuratorClient(config, zookeeperProps);
-        distributedLockHolder = new DistributedLockHolder(getType(), client, 
zookeeperProps);
         client.getConnectionStateListenable().addListener(new 
SessionConnectionReconnectListener(computeNodeInstanceContext, this));
         initCuratorClient(zookeeperProps);
     }
@@ -224,11 +220,6 @@ public final class ZookeeperRepository implements 
ClusterPersistRepository {
         return true;
     }
     
-    @Override
-    public Optional<DistributedLockHolder> getDistributedLockHolder() {
-        return Optional.of(distributedLockHolder);
-    }
-    
     @Override
     public Optional<DistributedLock> getDistributedLock(final String lockKey) {
         return Optional.of(new ZookeeperDistributedLock(lockKey, client));
diff --git 
a/mode/type/cluster/repository/provider/zookeeper/src/test/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/ZookeeperRepositoryTest.java
 
b/mode/type/cluster/repository/provider/zookeeper/src/test/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/ZookeeperRepositoryTest.java
index c282b74c4c4..1e1a51852ab 100644
--- 
a/mode/type/cluster/repository/provider/zookeeper/src/test/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/ZookeeperRepositoryTest.java
+++ 
b/mode/type/cluster/repository/provider/zookeeper/src/test/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/ZookeeperRepositoryTest.java
@@ -32,9 +32,6 @@ import org.apache.curator.framework.api.SetDataBuilder;
 import org.apache.curator.framework.listen.Listenable;
 import org.apache.shardingsphere.infra.instance.ComputeNodeInstanceContext;
 import 
org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepositoryConfiguration;
-import 
org.apache.shardingsphere.mode.repository.cluster.lock.holder.DistributedLockHolder;
-import 
org.apache.shardingsphere.mode.repository.cluster.zookeeper.lock.ZookeeperDistributedLock;
-import 
org.apache.shardingsphere.mode.repository.cluster.zookeeper.props.ZookeeperProperties;
 import 
org.apache.shardingsphere.mode.repository.cluster.zookeeper.props.ZookeeperPropertyKey;
 import org.apache.shardingsphere.test.util.PropertiesBuilder;
 import org.apache.shardingsphere.test.util.PropertiesBuilder.Property;
@@ -51,7 +48,6 @@ import org.mockito.quality.Strictness;
 
 import java.nio.charset.StandardCharsets;
 import java.util.Arrays;
-import java.util.Collections;
 import java.util.List;
 import java.util.Properties;
 import java.util.concurrent.TimeUnit;
@@ -110,7 +106,6 @@ class ZookeeperRepositoryTest {
         mockBuilder();
         ClusterPersistRepositoryConfiguration config = new 
ClusterPersistRepositoryConfiguration(REPOSITORY.getType(), "governance", 
SERVER_LISTS, new Properties());
         REPOSITORY.init(config, mock(ComputeNodeInstanceContext.class));
-        mockDistributedLockHolder();
     }
     
     @SneakyThrows({ReflectiveOperationException.class, 
InterruptedException.class})
@@ -128,13 +123,6 @@ class ZookeeperRepositoryTest {
         when(client.blockUntilConnected(anyInt(), 
eq(TimeUnit.MILLISECONDS))).thenReturn(true);
     }
     
-    @SneakyThrows(ReflectiveOperationException.class)
-    private void mockDistributedLockHolder() {
-        DistributedLockHolder distributedLockHolder = new 
DistributedLockHolder("ZooKeeper", client, new ZookeeperProperties(new 
Properties()));
-        
Plugins.getMemberAccessor().set(DistributedLockHolder.class.getDeclaredField("locks"),
 distributedLockHolder, Collections.singletonMap("/locks/glock", 
mock(ZookeeperDistributedLock.class)));
-        
Plugins.getMemberAccessor().set(ZookeeperRepository.class.getDeclaredField("distributedLockHolder"),
 REPOSITORY, distributedLockHolder);
-    }
-    
     private void mockBuilder() {
         when(client.checkExists()).thenReturn(existsBuilder);
         when(client.create()).thenReturn(createBuilder);
diff --git 
a/proxy/bootstrap/src/test/java/org/apache/shardingsphere/proxy/fixture/ProxyPersistRepositoryFixture.java
 
b/proxy/bootstrap/src/test/java/org/apache/shardingsphere/proxy/fixture/ProxyPersistRepositoryFixture.java
index ac867a86597..d32dd98fa34 100644
--- 
a/proxy/bootstrap/src/test/java/org/apache/shardingsphere/proxy/fixture/ProxyPersistRepositoryFixture.java
+++ 
b/proxy/bootstrap/src/test/java/org/apache/shardingsphere/proxy/fixture/ProxyPersistRepositoryFixture.java
@@ -20,17 +20,14 @@ package org.apache.shardingsphere.proxy.fixture;
 import org.apache.shardingsphere.infra.instance.ComputeNodeInstanceContext;
 import 
org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepository;
 import 
org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepositoryConfiguration;
-import 
org.apache.shardingsphere.mode.repository.cluster.core.lock.props.DefaultLockTypedProperties;
 import 
org.apache.shardingsphere.mode.repository.cluster.listener.DataChangedEventListener;
 import org.apache.shardingsphere.mode.repository.cluster.lock.DistributedLock;
-import 
org.apache.shardingsphere.mode.repository.cluster.lock.holder.DistributedLockHolder;
 
 import java.util.Collections;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Optional;
-import java.util.Properties;
 
 public final class ProxyPersistRepositoryFixture implements 
ClusterPersistRepository {
     
@@ -74,11 +71,6 @@ public final class ProxyPersistRepositoryFixture implements 
ClusterPersistReposi
         return true;
     }
     
-    @Override
-    public Optional<DistributedLockHolder> getDistributedLockHolder() {
-        return Optional.of(new DistributedLockHolder("default", this, new 
DefaultLockTypedProperties(new Properties())));
-    }
-    
     @Override
     public Optional<DistributedLock> getDistributedLock(final String lockKey) {
         return Optional.empty();

Reply via email to