From a0a84222d71f6e16efb70805e9d355280e1aea8c Mon Sep 17 00:00:00 2001 From: cvictory Date: Fri, 25 Jan 2019 10:54:45 +0800 Subject: [PATCH 1/3] fix #2842. remove duplicate SPI definitions for 2.7.x --- dubbo-all/pom.xml | 12 ++++++++++++ dubbo-container/dubbo-container-api/pom.xml | 3 +-- pom.xml | 1 - 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/dubbo-all/pom.xml b/dubbo-all/pom.xml index 8c46af627dbe..15fd731d706b 100644 --- a/dubbo-all/pom.xml +++ b/dubbo-all/pom.xml @@ -614,6 +614,18 @@ + + + org.apache.dubbo:dubbo + + + com/** + org/** + + META-INF/dubbo/** + + + diff --git a/dubbo-container/dubbo-container-api/pom.xml b/dubbo-container/dubbo-container-api/pom.xml index 2e1f544064f1..2c1e9100af53 100644 --- a/dubbo-container/dubbo-container-api/pom.xml +++ b/dubbo-container/dubbo-container-api/pom.xml @@ -47,9 +47,8 @@ org.apache.dubbo.container.Main - true - \ No newline at end of file + diff --git a/pom.xml b/pom.xml index 4cbb67e5b461..8f1a39b72018 100644 --- a/pom.xml +++ b/pom.xml @@ -389,7 +389,6 @@ ${project.version} - true From 19824c3a9d436b5a19bb9cc211935ae5750d2314 Mon Sep 17 00:00:00 2001 From: cvictory Date: Thu, 21 Feb 2019 10:42:06 +0800 Subject: [PATCH 2/3] fix: rename the thread name from DubboRegistryFailedRetryTimer to DubboMetadataReportRetryTimer in MetadataReportRetry --- .../dubbo/metadata/support/AbstractMetadataReport.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dubbo-metadata-report/dubbo-metadata-report-api/src/main/java/org/apache/dubbo/metadata/support/AbstractMetadataReport.java b/dubbo-metadata-report/dubbo-metadata-report-api/src/main/java/org/apache/dubbo/metadata/support/AbstractMetadataReport.java index 6080fa58f82b..95b44f44927e 100644 --- a/dubbo-metadata-report/dubbo-metadata-report-api/src/main/java/org/apache/dubbo/metadata/support/AbstractMetadataReport.java +++ b/dubbo-metadata-report/dubbo-metadata-report-api/src/main/java/org/apache/dubbo/metadata/support/AbstractMetadataReport.java @@ -62,7 +62,7 @@ public abstract class AbstractMetadataReport implements MetadataReport { // Log output protected final Logger logger = LoggerFactory.getLogger(getClass()); - // Local disk cache, where the special key value.registries records the list of registry centers, and the others are the list of notified service providers + // Local disk cache, where the special key value.registries records the list of metadata centers, and the others are the list of notified service providers final Properties properties = new Properties(); private final ExecutorService reportCacheExecutor = Executors.newFixedThreadPool(1, new NamedThreadFactory("DubboSaveMetadataReport", true)); final Map allMetadataReports = new ConcurrentHashMap<>(4); @@ -336,7 +336,7 @@ long calculateStartTime() { class MetadataReportRetry { protected final Logger logger = LoggerFactory.getLogger(getClass()); - final ScheduledExecutorService retryExecutor = Executors.newScheduledThreadPool(0, new NamedThreadFactory("DubboRegistryFailedRetryTimer", true)); + final ScheduledExecutorService retryExecutor = Executors.newScheduledThreadPool(0, new NamedThreadFactory("DubboMetadataReportRetryTimer", true)); volatile ScheduledFuture retryScheduledFuture; AtomicInteger retryCounter = new AtomicInteger(0); // retry task schedule period @@ -358,7 +358,7 @@ void startRetryTask() { retryScheduledFuture = retryExecutor.scheduleWithFixedDelay(new Runnable() { @Override public void run() { - // Check and connect to the registry + // Check and connect to the metadata try { int times = retryCounter.incrementAndGet(); logger.info("start to retry task for metadata report. retry times:" + times); From 4eca5fd4177af28e7518bee04e56de59e7a85cda Mon Sep 17 00:00:00 2001 From: cvictory Date: Thu, 23 May 2019 10:48:18 +0800 Subject: [PATCH 3/3] fix #3866 --- .../zookeeper/curator/CuratorZookeeperClient.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/org/apache/dubbo/remoting/zookeeper/curator/CuratorZookeeperClient.java b/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/org/apache/dubbo/remoting/zookeeper/curator/CuratorZookeeperClient.java index e3a06e599800..b14cd11b83ff 100644 --- a/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/org/apache/dubbo/remoting/zookeeper/curator/CuratorZookeeperClient.java +++ b/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/org/apache/dubbo/remoting/zookeeper/curator/CuratorZookeeperClient.java @@ -17,6 +17,8 @@ package org.apache.dubbo.remoting.zookeeper.curator; import org.apache.dubbo.common.URL; +import org.apache.dubbo.common.logger.Logger; +import org.apache.dubbo.common.logger.LoggerFactory; import org.apache.dubbo.common.utils.StringUtils; import org.apache.dubbo.remoting.zookeeper.ChildListener; import org.apache.dubbo.remoting.zookeeper.DataListener; @@ -49,6 +51,8 @@ public class CuratorZookeeperClient extends AbstractZookeeperClient { + protected static final Logger logger = LoggerFactory.getLogger(CuratorZookeeperClient.class); + static final Charset CHARSET = Charset.forName("UTF-8"); private final CuratorFramework client; private Map treeCacheMap = new ConcurrentHashMap<>(); @@ -288,6 +292,9 @@ public void process(WatchedEvent event) throws Exception { @Override public void childEvent(CuratorFramework client, TreeCacheEvent event) throws Exception { if (dataListener != null) { + if (logger.isInfoEnabled()) { + logger.info("listen the zookeeper changed. The changed data:" + event.getData()); + } TreeCacheEvent.Type type = event.getType(); EventType eventType = null; String content = null; @@ -296,12 +303,12 @@ public void childEvent(CuratorFramework client, TreeCacheEvent event) throws Exc case NODE_ADDED: eventType = EventType.NodeCreated; path = event.getData().getPath(); - content = new String(event.getData().getData(), CHARSET); + content = event.getData().getData() == null ? "" : new String(event.getData().getData(), CHARSET); break; case NODE_UPDATED: eventType = EventType.NodeDataChanged; path = event.getData().getPath(); - content = new String(event.getData().getData(), CHARSET); + content = event.getData().getData() == null ? "" : new String(event.getData().getData(), CHARSET); break; case NODE_REMOVED: path = event.getData().getPath();