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

Reply via email to