You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2022/10/29 06:30:48 UTC
[shardingsphere] branch master updated: Refactor DistributedLock (#21836)
This is an automated email from the ASF dual-hosted git repository.
duanzhengqiang 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 05a88dc658d Refactor DistributedLock (#21836)
05a88dc658d is described below
commit 05a88dc658d47f9f89cd2a948ffb9ccfeefef40d
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Sat Oct 29 14:30:42 2022 +0800
Refactor DistributedLock (#21836)
* Refactor DistributedLock
* Refactor DistributedLockProvider
---
.../mode/repository/cluster/consul/lock/ConsulDistributedLock.java | 4 ----
.../mode/repository/cluster/etcd/lock/EtcdDistributedLock.java | 4 ++--
.../repository/cluster/etcd/lock/EtcdDistributedLockProvider.java | 7 +++----
.../cluster/zookeeper/lock/CuratorZookeeperDistributedLock.java | 4 ++--
.../zookeeper/lock/CuratorZookeeperDistributedLockProvider.java | 7 +++----
5 files changed, 10 insertions(+), 16 deletions(-)
diff --git a/mode/type/cluster/repository/provider/consul/src/main/java/org/apache/shardingsphere/mode/repository/cluster/consul/lock/ConsulDistributedLock.java b/mode/type/cluster/repository/provider/consul/src/main/java/org/apache/shardingsphere/mode/repository/cluster/consul/lock/ConsulDistributedLock.java
index ef75e07dea8..050ee7fe7be 100644
--- a/mode/type/cluster/repository/provider/consul/src/main/java/org/apache/shardingsphere/mode/repository/cluster/consul/lock/ConsulDistributedLock.java
+++ b/mode/type/cluster/repository/provider/consul/src/main/java/org/apache/shardingsphere/mode/repository/cluster/consul/lock/ConsulDistributedLock.java
@@ -31,7 +31,6 @@ import com.ecwid.consul.v1.session.model.Session;
import com.google.common.base.Strings;
import com.google.common.reflect.TypeToken;
import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
import org.apache.shardingsphere.mode.repository.cluster.consul.ShardingSphereConsulClient;
import org.apache.shardingsphere.mode.repository.cluster.consul.ShardingSphereQueryParams;
import org.apache.shardingsphere.mode.repository.cluster.consul.props.ConsulProperties;
@@ -47,7 +46,6 @@ import java.util.concurrent.atomic.AtomicBoolean;
* Consul distributed lock.
*/
@RequiredArgsConstructor
-@Slf4j
public final class ConsulDistributedLock implements DistributedLock {
private static final String CONSUL_ROOT_PATH = "sharding/lock";
@@ -100,7 +98,6 @@ public final class ConsulDistributedLock implements DistributedLock {
// CHECKSTYLE:OFF
} catch (final Exception ex) {
// CHECKSTYLE:ON
- log.error("EtcdRepository tryLock error, lockName:{}", lockName, ex);
return false;
}
}
@@ -190,7 +187,6 @@ public final class ConsulDistributedLock implements DistributedLock {
// CHECKSTYLE:OFF
} catch (final Exception ex) {
// CHECKSTYLE:ON
- log.error("EtcdRepository unlock error, lockName: {}", lockName, ex);
} finally {
lockSessionMap.remove();
}
diff --git a/mode/type/cluster/repository/provider/etcd/src/main/java/org/apache/shardingsphere/mode/repository/cluster/etcd/lock/EtcdDistributedLock.java b/mode/type/cluster/repository/provider/etcd/src/main/java/org/apache/shardingsphere/mode/repository/cluster/etcd/lock/EtcdDistributedLock.java
index f3b81f8978c..f3f9519a6fe 100644
--- a/mode/type/cluster/repository/provider/etcd/src/main/java/org/apache/shardingsphere/mode/repository/cluster/etcd/lock/EtcdDistributedLock.java
+++ b/mode/type/cluster/repository/provider/etcd/src/main/java/org/apache/shardingsphere/mode/repository/cluster/etcd/lock/EtcdDistributedLock.java
@@ -38,9 +38,9 @@ public final class EtcdDistributedLock implements DistributedLock {
private final long leaseId;
@Override
- public boolean tryLock(final long timeout) {
+ public boolean tryLock(final long timeoutMillis) {
try {
- this.lock.lock(ByteSequence.from(lockKey, StandardCharsets.UTF_8), leaseId).get(timeout, TimeUnit.MILLISECONDS);
+ lock.lock(ByteSequence.from(lockKey, StandardCharsets.UTF_8), leaseId).get(timeoutMillis, TimeUnit.MILLISECONDS);
return true;
// CHECKSTYLE:OFF
} catch (final Exception ex) {
diff --git a/mode/type/cluster/repository/provider/etcd/src/main/java/org/apache/shardingsphere/mode/repository/cluster/etcd/lock/EtcdDistributedLockProvider.java b/mode/type/cluster/repository/provider/etcd/src/main/java/org/apache/shardingsphere/mode/repository/cluster/etcd/lock/EtcdDistributedLockProvider.java
index aab0d60f32a..99369227468 100644
--- a/mode/type/cluster/repository/provider/etcd/src/main/java/org/apache/shardingsphere/mode/repository/cluster/etcd/lock/EtcdDistributedLockProvider.java
+++ b/mode/type/cluster/repository/provider/etcd/src/main/java/org/apache/shardingsphere/mode/repository/cluster/etcd/lock/EtcdDistributedLockProvider.java
@@ -25,9 +25,8 @@ import org.apache.shardingsphere.mode.repository.cluster.etcd.props.EtcdProperty
import org.apache.shardingsphere.mode.repository.cluster.lock.DistributedLock;
import org.apache.shardingsphere.mode.repository.cluster.lock.DistributedLockProvider;
-import java.util.LinkedHashMap;
+import java.util.HashMap;
import java.util.Map;
-import java.util.Objects;
/**
* Etcd distributed lock provider.
@@ -36,7 +35,7 @@ import java.util.Objects;
@Slf4j
public final class EtcdDistributedLockProvider implements DistributedLockProvider {
- private final Map<String, EtcdDistributedLock> locks = new LinkedHashMap<>();
+ private final Map<String, EtcdDistributedLock> locks = new HashMap<>();
private final Client client;
@@ -45,7 +44,7 @@ public final class EtcdDistributedLockProvider implements DistributedLockProvide
@Override
public synchronized DistributedLock getDistributedLock(final String lockKey) {
EtcdDistributedLock result = locks.get(lockKey);
- if (Objects.isNull(result)) {
+ if (null == result) {
result = createLock(lockKey);
locks.put(lockKey, result);
}
diff --git a/mode/type/cluster/repository/provider/zookeeper-curator/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/lock/CuratorZookeeperDistributedLock.java b/mode/type/cluster/repository/provider/zookeeper-curator/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/lock/CuratorZookeeperDistributedLock.java
index 280e9ad3372..4702ee24ebc 100644
--- a/mode/type/cluster/repository/provider/zookeeper-curator/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/lock/CuratorZookeeperDistributedLock.java
+++ b/mode/type/cluster/repository/provider/zookeeper-curator/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/lock/CuratorZookeeperDistributedLock.java
@@ -33,9 +33,9 @@ public final class CuratorZookeeperDistributedLock implements DistributedLock {
private final InterProcessLock lock;
@Override
- public boolean tryLock(final long timeout) {
+ public boolean tryLock(final long timeoutMillis) {
try {
- return lock.acquire(timeout, TimeUnit.MILLISECONDS);
+ return lock.acquire(timeoutMillis, TimeUnit.MILLISECONDS);
// CHECKSTYLE:OFF
} catch (final Exception ex) {
// CHECKSTYLE:ON
diff --git a/mode/type/cluster/repository/provider/zookeeper-curator/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/lock/CuratorZookeeperDistributedLockProvider.java b/mode/type/cluster/repository/provider/zookeeper-curator/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/lock/CuratorZookeeperDistributedLockProvider.java
index ccd4e2c7638..26afce0601f 100644
--- a/mode/type/cluster/repository/provider/zookeeper-curator/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/lock/CuratorZookeeperDistributedLockProvider.java
+++ b/mode/type/cluster/repository/provider/zookeeper-curator/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/lock/CuratorZookeeperDistributedLockProvider.java
@@ -23,9 +23,8 @@ import org.apache.curator.framework.recipes.locks.InterProcessMutex;
import org.apache.shardingsphere.mode.repository.cluster.lock.DistributedLock;
import org.apache.shardingsphere.mode.repository.cluster.lock.DistributedLockProvider;
-import java.util.LinkedHashMap;
+import java.util.HashMap;
import java.util.Map;
-import java.util.Objects;
/**
* Curator ZooKeeper distributed lock provider.
@@ -33,14 +32,14 @@ import java.util.Objects;
@RequiredArgsConstructor
public final class CuratorZookeeperDistributedLockProvider implements DistributedLockProvider {
- private final Map<String, CuratorZookeeperDistributedLock> locks = new LinkedHashMap<>();
+ private final Map<String, CuratorZookeeperDistributedLock> locks = new HashMap<>();
private final CuratorFramework client;
@Override
public synchronized DistributedLock getDistributedLock(final String lockKey) {
CuratorZookeeperDistributedLock result = locks.get(lockKey);
- if (Objects.isNull(result)) {
+ if (null == result) {
result = new CuratorZookeeperDistributedLock(new InterProcessMutex(client, lockKey));
locks.put(lockKey, result);
}