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 8758344b943 Remove CacheEvictedSubscriber (#34230) 8758344b943 is described below commit 8758344b943f4b931efb09339cb969850fcab4e6 Author: Liang Zhang <zhangli...@apache.org> AuthorDate: Fri Jan 3 00:44:04 2025 +0800 Remove CacheEvictedSubscriber (#34230) --- .../type/DatabaseMetaDataChangedListener.java | 2 ++ .../type/GlobalMetaDataChangedHandler.java | 2 ++ .../ClusterDispatchEventSubscriberRegistry.java | 3 +- .../subscriber/type/CacheEvictedSubscriber.java | 39 --------------------- .../type/CacheEvictedSubscriberTest.java | 40 ---------------------- 5 files changed, 5 insertions(+), 81 deletions(-) diff --git a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/dispatch/listener/type/DatabaseMetaDataChangedListener.java b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/dispatch/listener/type/DatabaseMetaDataChangedListener.java index f026ee4f0cf..6ae260af185 100644 --- a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/dispatch/listener/type/DatabaseMetaDataChangedListener.java +++ b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/dispatch/listener/type/DatabaseMetaDataChangedListener.java @@ -19,6 +19,7 @@ package org.apache.shardingsphere.mode.manager.cluster.event.dispatch.listener.t import lombok.RequiredArgsConstructor; 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.metadata.persist.node.DatabaseMetaDataNode; import org.apache.shardingsphere.mode.event.DataChangedEvent; import org.apache.shardingsphere.mode.manager.ContextManager; @@ -43,6 +44,7 @@ public final class DatabaseMetaDataChangedListener implements DataChangedEventLi if (!databaseName.isPresent()) { return; } + OrderedServicesCache.clearCache(); if (new MetaDataChangedHandler(contextManager).handle(databaseName.get(), event)) { return; } diff --git a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/dispatch/listener/type/GlobalMetaDataChangedHandler.java b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/dispatch/listener/type/GlobalMetaDataChangedHandler.java index d68a42ce5e6..d79adddd86f 100644 --- a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/dispatch/listener/type/GlobalMetaDataChangedHandler.java +++ b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/dispatch/listener/type/GlobalMetaDataChangedHandler.java @@ -18,6 +18,7 @@ package org.apache.shardingsphere.mode.manager.cluster.event.dispatch.listener.type; import lombok.RequiredArgsConstructor; +import org.apache.shardingsphere.infra.spi.type.ordered.cache.OrderedServicesCache; import org.apache.shardingsphere.mode.event.DataChangedEvent; import org.apache.shardingsphere.mode.manager.ContextManager; import org.apache.shardingsphere.mode.manager.cluster.event.dispatch.handler.DataChangedEventHandler; @@ -36,6 +37,7 @@ public final class GlobalMetaDataChangedHandler implements DataChangedEventListe @Override public void onChange(final DataChangedEvent event) { if (handler.getSubscribedTypes().contains(event.getType())) { + OrderedServicesCache.clearCache(); handler.handle(contextManager, event); } } diff --git a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/dispatch/subscriber/ClusterDispatchEventSubscriberRegistry.java b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/dispatch/subscriber/ClusterDispatchEventSubscriberRegistry.java index 0fd96631791..c2ece87f6c1 100644 --- a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/dispatch/subscriber/ClusterDispatchEventSubscriberRegistry.java +++ b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/dispatch/subscriber/ClusterDispatchEventSubscriberRegistry.java @@ -19,7 +19,6 @@ package org.apache.shardingsphere.mode.manager.cluster.event.dispatch.subscriber import lombok.Getter; import org.apache.shardingsphere.infra.util.eventbus.EventSubscriber; -import org.apache.shardingsphere.mode.manager.cluster.event.dispatch.subscriber.type.CacheEvictedSubscriber; import java.util.Collection; import java.util.Collections; @@ -33,6 +32,6 @@ public final class ClusterDispatchEventSubscriberRegistry { private final Collection<EventSubscriber> subscribers; public ClusterDispatchEventSubscriberRegistry() { - subscribers = Collections.singleton(new CacheEvictedSubscriber()); + subscribers = Collections.emptyList(); } } diff --git a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/dispatch/subscriber/type/CacheEvictedSubscriber.java b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/dispatch/subscriber/type/CacheEvictedSubscriber.java deleted file mode 100644 index 7dcd394ce0e..00000000000 --- a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/dispatch/subscriber/type/CacheEvictedSubscriber.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.shardingsphere.mode.manager.cluster.event.dispatch.subscriber.type; - -import com.google.common.eventbus.Subscribe; -import org.apache.shardingsphere.infra.spi.type.ordered.cache.OrderedServicesCache; -import org.apache.shardingsphere.mode.manager.cluster.event.dispatch.event.DispatchEvent; -import org.apache.shardingsphere.mode.manager.cluster.event.dispatch.subscriber.DispatchEventSubscriber; - -/** - * Cache evicted subscriber. - */ -public final class CacheEvictedSubscriber implements DispatchEventSubscriber { - - /** - * Callback of any {@link DispatchEvent}. - * - * @param ignored unused - */ - @Subscribe - public void cleanCache(final DispatchEvent ignored) { - OrderedServicesCache.clearCache(); - } -} diff --git a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/dispatch/subscriber/type/CacheEvictedSubscriberTest.java b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/dispatch/subscriber/type/CacheEvictedSubscriberTest.java deleted file mode 100644 index 9a043c88824..00000000000 --- a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/dispatch/subscriber/type/CacheEvictedSubscriberTest.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.shardingsphere.mode.manager.cluster.event.dispatch.subscriber.type; - -import org.apache.shardingsphere.infra.spi.type.ordered.cache.OrderedServicesCache; -import org.apache.shardingsphere.infra.util.eventbus.EventBusContext; -import org.apache.shardingsphere.mode.manager.cluster.event.dispatch.event.DispatchEvent; -import org.junit.jupiter.api.Test; - -import java.util.Collections; - -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.mockito.Mockito.mock; - -class CacheEvictedSubscriberTest { - - @Test - void assertClearCache() { - EventBusContext eventBusContext = new EventBusContext(); - eventBusContext.register(new CacheEvictedSubscriber()); - OrderedServicesCache.cacheServices(getClass(), Collections.emptyList(), Collections.emptyMap()); - eventBusContext.post(mock(DispatchEvent.class)); - assertFalse(OrderedServicesCache.findCachedServices(getClass(), Collections.emptyList()).isPresent()); - } -}