You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2022/12/08 10:45:01 UTC
[shardingsphere] branch master updated: Add ensembleTracker parameter support deploy ZooKeeper on cloud (#22745)
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 6473d1fb614 Add ensembleTracker parameter support deploy ZooKeeper on cloud (#22745)
6473d1fb614 is described below
commit 6473d1fb614ef3fd482638d7f3c4793853cdf26a
Author: zhaojinchao <zh...@apache.org>
AuthorDate: Thu Dec 8 18:44:53 2022 +0800
Add ensembleTracker parameter support deploy ZooKeeper on cloud (#22745)
* Add ensembleTracker parameter support deploy ZooKeeper on cloud
* Fix unit test
---
.../mode/repository/cluster/zookeeper/ZookeeperRepository.java | 2 ++
.../repository/cluster/zookeeper/props/ZookeeperPropertyKey.java | 5 +++++
.../mode/repository/cluster/zookeeper/ZookeeperRepositoryTest.java | 2 ++
proxy/bootstrap/src/main/resources/conf/server.yaml | 1 +
4 files changed, 10 insertions(+)
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 1a52502c4f5..ebd4d54a74b 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
@@ -82,7 +82,9 @@ public final class ZookeeperRepository implements ClusterPersistRepository, Inst
int maxRetries = zookeeperProps.getValue(ZookeeperPropertyKey.MAX_RETRIES);
int timeToLiveSeconds = zookeeperProps.getValue(ZookeeperPropertyKey.TIME_TO_LIVE_SECONDS);
int operationTimeoutMilliseconds = zookeeperProps.getValue(ZookeeperPropertyKey.OPERATION_TIMEOUT_MILLISECONDS);
+ boolean ensembleTracker = zookeeperProps.getValue(ZookeeperPropertyKey.ENSEMBLE_TRACKER);
builder.connectString(config.getServerLists())
+ .ensembleTracker(ensembleTracker)
.retryPolicy(new ExponentialBackoffRetry(retryIntervalMilliseconds, maxRetries, retryIntervalMilliseconds * maxRetries))
.namespace(config.getNamespace());
if (0 != timeToLiveSeconds) {
diff --git a/mode/type/cluster/repository/provider/zookeeper/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/props/ZookeeperPropertyKey.java b/mode/type/cluster/repository/provider/zookeeper/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/props/ZookeeperPropertyKey.java
index 43631b17165..010dbf10516 100644
--- a/mode/type/cluster/repository/provider/zookeeper/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/props/ZookeeperPropertyKey.java
+++ b/mode/type/cluster/repository/provider/zookeeper/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/props/ZookeeperPropertyKey.java
@@ -48,6 +48,11 @@ public enum ZookeeperPropertyKey implements TypedPropertyKey {
*/
OPERATION_TIMEOUT_MILLISECONDS("operationTimeoutMilliseconds", String.valueOf(500), int.class),
+ /**
+ * ZooKeeper client ensemble tracker.
+ */
+ ENSEMBLE_TRACKER("ensembleTracker", String.valueOf(Boolean.TRUE), boolean.class),
+
/**
* ZooKeeper client connection authorization schema name.
*/
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 52c075572c3..cc0248ed8c7 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
@@ -67,6 +67,7 @@ import static org.hamcrest.MatcherAssert.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.mock;
@@ -130,6 +131,7 @@ public final class ZookeeperRepositoryTest {
builderFiled.set(REPOSITORY, builder);
when(builder.connectString(anyString())).thenReturn(builder);
when(builder.retryPolicy(any(RetryPolicy.class))).thenReturn(builder);
+ when(builder.ensembleTracker(anyBoolean())).thenReturn(builder);
when(builder.namespace(anyString())).thenReturn(builder);
when(builder.sessionTimeoutMs(anyInt())).thenReturn(builder);
when(builder.connectionTimeoutMs(anyInt())).thenReturn(builder);
diff --git a/proxy/bootstrap/src/main/resources/conf/server.yaml b/proxy/bootstrap/src/main/resources/conf/server.yaml
index 166959eaa3c..bdef75565e7 100644
--- a/proxy/bootstrap/src/main/resources/conf/server.yaml
+++ b/proxy/bootstrap/src/main/resources/conf/server.yaml
@@ -32,6 +32,7 @@
# timeToLiveSeconds: 60
# maxRetries: 3
# operationTimeoutMilliseconds: 500
+# ensembleTracker: true
#
#authority:
# users: