This is an automated email from the ASF dual-hosted git repository.
zhaojinchao 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 9994aab9aa6 Revert "Remove ComputeNodeInstanceContextAware interface
for ClusterPersistRepository (#31438)" (#31445)
9994aab9aa6 is described below
commit 9994aab9aa65f4c4e48b6b9cb6b7ff3e221f1323
Author: Haoran Meng <[email protected]>
AuthorDate: Thu May 30 11:21:26 2024 +0800
Revert "Remove ComputeNodeInstanceContextAware interface for
ClusterPersistRepository (#31438)" (#31445)
This reverts commit 29952026c03af86417ad473ea5dd1b5f02ccaf8c.
---
.../mode/manager/cluster/ClusterContextManagerBuilder.java | 4 ++--
.../coordinator/registry/GovernanceWatcherFactory.java | 8 ++------
.../mode/repository/cluster/ClusterPersistRepository.java | 9 ---------
.../repository/cluster/zookeeper/ZookeeperRepository.java | 13 +++++++------
4 files changed, 11 insertions(+), 23 deletions(-)
diff --git
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterContextManagerBuilder.java
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterContextManagerBuilder.java
index 93bc0a20e19..f6409ee689d 100644
---
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterContextManagerBuilder.java
+++
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterContextManagerBuilder.java
@@ -101,8 +101,8 @@ public final class ClusterContextManagerBuilder implements
ContextManagerBuilder
private void registerOnline(final EventBusContext eventBusContext, final
ComputeNodeInstanceContext computeNodeInstanceContext,
final ClusterPersistRepository repository,
final ContextManagerBuilderParameter param, final ContextManager
contextManager) {
contextManager.getPersistServiceFacade().getComputeNodePersistService().registerOnline(computeNodeInstanceContext.getInstance());
- new GovernanceWatcherFactory(repository, eventBusContext,
param.getInstanceMetaData() instanceof JDBCInstanceMetaData ?
param.getDatabaseConfigs().keySet() : Collections.emptyList())
- .watchListeners(computeNodeInstanceContext);
+ new GovernanceWatcherFactory(repository,
+ eventBusContext, param.getInstanceMetaData() instanceof
JDBCInstanceMetaData ? param.getDatabaseConfigs().keySet() :
Collections.emptyList()).watchListeners();
if (null != param.getLabels()) {
contextManager.getComputeNodeInstanceContext().getInstance().getLabels().addAll(param.getLabels());
}
diff --git
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/GovernanceWatcherFactory.java
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/GovernanceWatcherFactory.java
index e37c2c6d34d..e12299b7afd 100644
---
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/GovernanceWatcherFactory.java
+++
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/GovernanceWatcherFactory.java
@@ -18,9 +18,8 @@
package org.apache.shardingsphere.mode.manager.cluster.coordinator.registry;
import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.instance.ComputeNodeInstanceContext;
-import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
import org.apache.shardingsphere.infra.util.eventbus.EventBusContext;
+import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
import
org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepository;
import java.util.Collection;
@@ -39,14 +38,11 @@ public final class GovernanceWatcherFactory {
/**
* Watch listeners.
- *
- * @param computeNodeInstanceContext compute node instance context
*/
- public void watchListeners(final ComputeNodeInstanceContext
computeNodeInstanceContext) {
+ public void watchListeners() {
for (GovernanceWatcher<?> each :
ShardingSphereServiceLoader.getServiceInstances(GovernanceWatcher.class)) {
watch(each);
}
- repository.watch(computeNodeInstanceContext);
}
private void watch(final GovernanceWatcher<?> listener) {
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 0879f6d1b97..b240ecea27b 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
@@ -17,7 +17,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.holder.DistributedLockHolder;
import org.apache.shardingsphere.mode.spi.PersistRepository;
@@ -57,12 +56,4 @@ public interface ClusterPersistRepository extends
PersistRepository {
* @param listener data changed event listener
*/
void watch(String key, DataChangedEventListener listener);
-
- /**
- * Watch client status.
- *
- * @param computeNodeInstanceContext compute node instance context
- */
- default void watch(ComputeNodeInstanceContext computeNodeInstanceContext) {
- }
}
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 84577037a68..76e20a97f79 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
@@ -28,6 +28,7 @@ import
org.apache.curator.framework.recipes.cache.CuratorCacheListener;
import org.apache.curator.retry.ExponentialBackoffRetry;
import org.apache.curator.utils.CloseableUtils;
import org.apache.shardingsphere.infra.instance.ComputeNodeInstanceContext;
+import
org.apache.shardingsphere.infra.instance.ComputeNodeInstanceContextAware;
import org.apache.shardingsphere.mode.event.DataChangedEvent;
import org.apache.shardingsphere.mode.event.DataChangedEvent.Type;
import
org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepository;
@@ -58,7 +59,7 @@ import java.util.concurrent.TimeUnit;
/**
* Registry repository of ZooKeeper.
*/
-public final class ZookeeperRepository implements ClusterPersistRepository {
+public final class ZookeeperRepository implements ClusterPersistRepository,
ComputeNodeInstanceContextAware {
private final Map<String, CuratorCache> caches = new ConcurrentHashMap<>();
@@ -254,11 +255,6 @@ public final class ZookeeperRepository implements
ClusterPersistRepository {
cache.start();
}
- @Override
- public void watch(final ComputeNodeInstanceContext
computeNodeInstanceContext) {
- client.getConnectionStateListenable().addListener(new
SessionConnectionReconnectListener(computeNodeInstanceContext, this));
- }
-
@Override
public void close() {
caches.values().forEach(CuratorCache::close);
@@ -278,6 +274,11 @@ public final class ZookeeperRepository implements
ClusterPersistRepository {
}
}
+ @Override
+ public void setComputeNodeInstanceContext(final ComputeNodeInstanceContext
computeNodeInstanceContext) {
+ client.getConnectionStateListenable().addListener(new
SessionConnectionReconnectListener(computeNodeInstanceContext, this));
+ }
+
@Override
public String getType() {
return "ZooKeeper";