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 1ee55b3615f Refactor DatabaseMetaDataChangedListener (#34927) 1ee55b3615f is described below commit 1ee55b3615f113d1594eb4d453fc70d59f1887b2 Author: Liang Zhang <zhangli...@apache.org> AuthorDate: Fri Mar 7 20:09:28 2025 +0800 Refactor DatabaseMetaDataChangedListener (#34927) --- .../handler/database/datasource/StorageUnitChangedHandler.java | 10 ++-------- .../handler/database/metadata/TableChangedHandler.java | 4 ---- .../dispatch/handler/database/metadata/ViewChangedHandler.java | 4 ---- .../listener/type/DatabaseMetaDataChangedListener.java | 3 +-- 4 files changed, 3 insertions(+), 18 deletions(-) diff --git a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/datasource/StorageUnitChangedHandler.java b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/datasource/StorageUnitChangedHandler.java index 95d47ad3549..d95259c8635 100644 --- a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/datasource/StorageUnitChangedHandler.java +++ b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/datasource/StorageUnitChangedHandler.java @@ -18,11 +18,11 @@ package org.apache.shardingsphere.mode.manager.cluster.dispatch.handler.database.datasource; import com.google.common.base.Preconditions; +import lombok.RequiredArgsConstructor; import org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties; import org.apache.shardingsphere.mode.event.DataChangedEvent; import org.apache.shardingsphere.mode.manager.ContextManager; import org.apache.shardingsphere.mode.manager.cluster.dispatch.handler.database.DatabaseLeafValueChangedHandler; -import org.apache.shardingsphere.mode.metadata.manager.ActiveVersionChecker; import org.apache.shardingsphere.mode.node.path.NodePath; import org.apache.shardingsphere.mode.node.path.engine.searcher.NodePathPattern; import org.apache.shardingsphere.mode.node.path.engine.searcher.NodePathSearcher; @@ -33,17 +33,11 @@ import java.util.Collections; /** * Storage unit changed handler. */ +@RequiredArgsConstructor public final class StorageUnitChangedHandler implements DatabaseLeafValueChangedHandler { private final ContextManager contextManager; - private final ActiveVersionChecker activeVersionChecker; - - public StorageUnitChangedHandler(final ContextManager contextManager) { - this.contextManager = contextManager; - activeVersionChecker = new ActiveVersionChecker(contextManager.getPersistServiceFacade().getRepository()); - } - @Override public NodePath getSubscribedNodePath(final String databaseName) { return new StorageUnitNodePath(databaseName, NodePathPattern.IDENTIFIER); diff --git a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/TableChangedHandler.java b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/TableChangedHandler.java index 0445b0a9854..c2d6f99a915 100644 --- a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/TableChangedHandler.java +++ b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/TableChangedHandler.java @@ -21,7 +21,6 @@ import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSp import org.apache.shardingsphere.mode.event.DataChangedEvent; import org.apache.shardingsphere.mode.manager.ContextManager; import org.apache.shardingsphere.mode.manager.cluster.dispatch.handler.database.DatabaseLeafValueChangedHandler; -import org.apache.shardingsphere.mode.metadata.manager.ActiveVersionChecker; import org.apache.shardingsphere.mode.metadata.refresher.statistics.StatisticsRefreshEngine; import org.apache.shardingsphere.mode.node.path.NodePath; import org.apache.shardingsphere.mode.node.path.engine.searcher.NodePathPattern; @@ -35,13 +34,10 @@ public final class TableChangedHandler implements DatabaseLeafValueChangedHandle private final ContextManager contextManager; - private final ActiveVersionChecker activeVersionChecker; - private final StatisticsRefreshEngine statisticsRefreshEngine; public TableChangedHandler(final ContextManager contextManager) { this.contextManager = contextManager; - activeVersionChecker = new ActiveVersionChecker(contextManager.getPersistServiceFacade().getRepository()); statisticsRefreshEngine = new StatisticsRefreshEngine(contextManager); } diff --git a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/ViewChangedHandler.java b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/ViewChangedHandler.java index b4a8c6f881f..baba1833c82 100644 --- a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/ViewChangedHandler.java +++ b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/ViewChangedHandler.java @@ -21,7 +21,6 @@ import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSp import org.apache.shardingsphere.mode.event.DataChangedEvent; import org.apache.shardingsphere.mode.manager.ContextManager; import org.apache.shardingsphere.mode.manager.cluster.dispatch.handler.database.DatabaseLeafValueChangedHandler; -import org.apache.shardingsphere.mode.metadata.manager.ActiveVersionChecker; import org.apache.shardingsphere.mode.metadata.refresher.statistics.StatisticsRefreshEngine; import org.apache.shardingsphere.mode.node.path.NodePath; import org.apache.shardingsphere.mode.node.path.engine.searcher.NodePathPattern; @@ -36,13 +35,10 @@ public final class ViewChangedHandler implements DatabaseLeafValueChangedHandler private final ContextManager contextManager; - private final ActiveVersionChecker activeVersionChecker; - private final StatisticsRefreshEngine statisticsRefreshEngine; public ViewChangedHandler(final ContextManager contextManager) { this.contextManager = contextManager; - activeVersionChecker = new ActiveVersionChecker(contextManager.getPersistServiceFacade().getRepository()); statisticsRefreshEngine = new StatisticsRefreshEngine(contextManager); } diff --git a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/listener/type/DatabaseMetaDataChangedListener.java b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/listener/type/DatabaseMetaDataChangedListener.java index 5b431488b1d..4303f4c48eb 100644 --- a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/listener/type/DatabaseMetaDataChangedListener.java +++ b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/listener/type/DatabaseMetaDataChangedListener.java @@ -20,7 +20,6 @@ package org.apache.shardingsphere.mode.manager.cluster.dispatch.listener.type; import org.apache.shardingsphere.infra.exception.core.external.sql.type.wrapper.SQLWrapperException; import org.apache.shardingsphere.infra.spi.type.ordered.cache.OrderedServicesCache; import org.apache.shardingsphere.mode.event.DataChangedEvent; -import org.apache.shardingsphere.mode.event.DataChangedEvent.Type; import org.apache.shardingsphere.mode.manager.ContextManager; import org.apache.shardingsphere.mode.manager.cluster.dispatch.handler.database.DatabaseChangedHandler; import org.apache.shardingsphere.mode.manager.cluster.dispatch.handler.database.DatabaseLeafValueChangedHandler; @@ -76,7 +75,7 @@ public final class DatabaseMetaDataChangedListener implements DataChangedEventLi if (!isSubscribed(each, databaseName.get(), event)) { continue; } - if ((event.getType().equals(DataChangedEvent.Type.ADDED) || event.getType().equals(Type.UPDATED)) + if ((DataChangedEvent.Type.ADDED == event.getType() || DataChangedEvent.Type.UPDATED == event.getType()) && !new ActiveVersionChecker(contextManager.getPersistServiceFacade().getRepository()).checkSame(event)) { return; }