This is an automated email from the ASF dual-hosted git repository.
liujun pushed a commit to branch 3.3-dev-xds
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/3.3-dev-xds by this push:
new 5ec7e431ec Fix xds service discovery issue (#14422)
5ec7e431ec is described below
commit 5ec7e431ec8551dda4194d66c82a7a347234c8ae
Author: Ken Liu <[email protected]>
AuthorDate: Thu Jul 18 10:52:48 2024 +0800
Fix xds service discovery issue (#14422)
---
.../java/org/apache/dubbo/config/Constants.java | 2 +-
.../org/apache/dubbo/config/ReferenceConfig.java | 2 ++
.../dubbo-demo-xds/dubbo-demo-xds-consumer/pom.xml | 7 ++++++
.../src/main/resources/application.yml | 2 +-
.../dubbo-demo-xds/dubbo-demo-xds-provider/pom.xml | 6 +++++
.../src/main/resources/application.yml | 2 +-
dubbo-distribution/dubbo-bom/pom.xml | 5 ++++
.../pom.xml | 23 +++++++++++++++---
.../dubbo-spring-boot-starter/pom.xml | 6 -----
dubbo-spring-boot/pom.xml | 20 +++++++++++++++-
dubbo-test/dubbo-dependencies-all/pom.xml | 5 ----
.../java/org/apache/dubbo/dependency/FileTest.java | 4 ++++
.../dubbo/xds/registry/XdsServiceDiscovery.java | 28 ++++++++++++----------
.../org.apache.dubbo.registry.RegistryFactory | 2 +-
14 files changed, 82 insertions(+), 32 deletions(-)
diff --git a/dubbo-common/src/main/java/org/apache/dubbo/config/Constants.java
b/dubbo-common/src/main/java/org/apache/dubbo/config/Constants.java
index 20f0037699..926cea93d6 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/config/Constants.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/config/Constants.java
@@ -168,7 +168,7 @@ public interface Constants {
Set<String> SUPPORT_MESH_TYPE = new HashSet<String>() {
{
- addAll(Arrays.asList("istio"));
+ addAll(Arrays.asList("xds"));
}
};
}
diff --git
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java
index d9b7f9055d..c28011d7fc 100644
---
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java
+++
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java
@@ -727,6 +727,8 @@ public class ReferenceConfig<T> extends
ReferenceConfigBase<T> {
long startTime = System.currentTimeMillis();
long checkDeadline = startTime + timeout;
do {
+ logger.info("Waiting for service " + getUniqueServiceName()
+ + " to be available..., set 'dubbo.consumer.check=false'
to skip check.");
try {
Thread.sleep(100);
} catch (InterruptedException e) {
diff --git a/dubbo-demo/dubbo-demo-xds/dubbo-demo-xds-consumer/pom.xml
b/dubbo-demo/dubbo-demo-xds/dubbo-demo-xds-consumer/pom.xml
index 74359e00be..73d3b92573 100644
--- a/dubbo-demo/dubbo-demo-xds/dubbo-demo-xds-consumer/pom.xml
+++ b/dubbo-demo/dubbo-demo-xds/dubbo-demo-xds-consumer/pom.xml
@@ -36,6 +36,13 @@
<artifactId>dubbo-rpc-triple</artifactId>
<version>${project.parent.version}</version>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.dubbo</groupId>
+ <artifactId>dubbo-triple-servlet</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-demo-xds-interface</artifactId>
diff --git
a/dubbo-demo/dubbo-demo-xds/dubbo-demo-xds-consumer/src/main/resources/application.yml
b/dubbo-demo/dubbo-demo-xds/dubbo-demo-xds-consumer/src/main/resources/application.yml
index 32e06b2fe2..251a6afdac 100644
---
a/dubbo-demo/dubbo-demo-xds/dubbo-demo-xds-consumer/src/main/resources/application.yml
+++
b/dubbo-demo/dubbo-demo-xds/dubbo-demo-xds-consumer/src/main/resources/application.yml
@@ -26,6 +26,6 @@ dubbo:
name: tri
port: 50050
registry:
- address: istio://istiod.istio-system.svc:15010?security=plaintext #
istio://istiod.istio-system.svc:15012
+ address: xds://istiod.istio-system.svc:15010?security=plaintext #
istio://istiod.istio-system.svc:15012
diff --git a/dubbo-demo/dubbo-demo-xds/dubbo-demo-xds-provider/pom.xml
b/dubbo-demo/dubbo-demo-xds/dubbo-demo-xds-provider/pom.xml
index 79f70e7999..8a221ccbf0 100644
--- a/dubbo-demo/dubbo-demo-xds/dubbo-demo-xds-provider/pom.xml
+++ b/dubbo-demo/dubbo-demo-xds/dubbo-demo-xds-provider/pom.xml
@@ -37,6 +37,12 @@
<version>${project.parent.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.dubbo</groupId>
+ <artifactId>dubbo-triple-servlet</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-xds</artifactId>
diff --git
a/dubbo-demo/dubbo-demo-xds/dubbo-demo-xds-provider/src/main/resources/application.yml
b/dubbo-demo/dubbo-demo-xds/dubbo-demo-xds-provider/src/main/resources/application.yml
index fcd07eb5cd..4d9b4bd788 100644
---
a/dubbo-demo/dubbo-demo-xds/dubbo-demo-xds-provider/src/main/resources/application.yml
+++
b/dubbo-demo/dubbo-demo-xds/dubbo-demo-xds-provider/src/main/resources/application.yml
@@ -26,4 +26,4 @@ dubbo:
name: tri
port: 50051
registry:
- address: istio://istiod.istio-system.svc:15010?security=plaintext #
istio://istiod.istio-system.svc:15012
+ address: xds://istiod.istio-system.svc:15010?security=plaintext #
istio://istiod.istio-system.svc:15012
diff --git a/dubbo-distribution/dubbo-bom/pom.xml
b/dubbo-distribution/dubbo-bom/pom.xml
index 0be7f90f3d..57d8814f69 100644
--- a/dubbo-distribution/dubbo-bom/pom.xml
+++ b/dubbo-distribution/dubbo-bom/pom.xml
@@ -526,6 +526,11 @@
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.dubbo</groupId>
+ <artifactId>dubbo-spring-boot-3-starter</artifactId>
+ <version>${project.version}</version>
+ </dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-interceptor</artifactId>
diff --git a/dubbo-spring-boot/dubbo-spring-boot-starter/pom.xml
b/dubbo-spring-boot/dubbo-spring-boot-3-starter/pom.xml
similarity index 77%
copy from dubbo-spring-boot/dubbo-spring-boot-starter/pom.xml
copy to dubbo-spring-boot/dubbo-spring-boot-3-starter/pom.xml
index b21cb786f8..a74b8bd4fb 100644
--- a/dubbo-spring-boot/dubbo-spring-boot-starter/pom.xml
+++ b/dubbo-spring-boot/dubbo-spring-boot-3-starter/pom.xml
@@ -24,9 +24,25 @@
<relativePath>../pom.xml</relativePath>
</parent>
- <artifactId>dubbo-spring-boot-starter</artifactId>
+ <artifactId>dubbo-spring-boot-3-starter</artifactId>
<packaging>jar</packaging>
- <description>Apache Dubbo Spring Boot Starter</description>
+ <description>Apache Dubbo Spring Boot 3 Starter</description>
+
+ <properties>
+ <spring-boot.version>3.2.1</spring-boot.version>
+ </properties>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-dependencies</artifactId>
+ <version>${spring-boot.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
<dependencies>
<!-- Spring Boot dependencies -->
@@ -41,11 +57,12 @@
<artifactId>dubbo-spring-boot-autoconfigure</artifactId>
<version>${project.version}</version>
</dependency>
+
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-3-autoconfigure</artifactId>
<version>${project.version}</version>
</dependency>
-
</dependencies>
+
</project>
diff --git a/dubbo-spring-boot/dubbo-spring-boot-starter/pom.xml
b/dubbo-spring-boot/dubbo-spring-boot-starter/pom.xml
index b21cb786f8..b5f8958714 100644
--- a/dubbo-spring-boot/dubbo-spring-boot-starter/pom.xml
+++ b/dubbo-spring-boot/dubbo-spring-boot-starter/pom.xml
@@ -41,11 +41,5 @@
<artifactId>dubbo-spring-boot-autoconfigure</artifactId>
<version>${project.version}</version>
</dependency>
- <dependency>
- <groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo-spring-boot-3-autoconfigure</artifactId>
- <version>${project.version}</version>
- </dependency>
-
</dependencies>
</project>
diff --git a/dubbo-spring-boot/pom.xml b/dubbo-spring-boot/pom.xml
index 96fb40c057..37982ec747 100644
--- a/dubbo-spring-boot/pom.xml
+++ b/dubbo-spring-boot/pom.xml
@@ -32,7 +32,6 @@
<modules>
<module>dubbo-spring-boot-actuator</module>
<module>dubbo-spring-boot-autoconfigure</module>
- <module>dubbo-spring-boot-3-autoconfigure</module>
<module>dubbo-spring-boot-compatible</module>
<module>dubbo-spring-boot-starter</module>
<module>dubbo-spring-boot-starters</module>
@@ -190,5 +189,24 @@
<spring-boot.version>2.2.8.RELEASE</spring-boot.version>
</properties>
</profile>
+
+ <profile>
+ <id>spring-boot-3</id>
+ <activation>
+ <jdk>[17,)</jdk>
+ </activation>
+ <modules>
+ <module>dubbo-spring-boot-3-autoconfigure</module>
+ <module>dubbo-spring-boot-3-starter</module>
+ </modules>
+ </profile>
+
+ <profile>
+ <id>release</id>
+ <modules>
+ <module>dubbo-spring-boot-3-autoconfigure</module>
+ <module>dubbo-spring-boot-3-starter</module>
+ </modules>
+ </profile>
</profiles>
</project>
diff --git a/dubbo-test/dubbo-dependencies-all/pom.xml
b/dubbo-test/dubbo-dependencies-all/pom.xml
index b0b79badb7..9e054aa82a 100644
--- a/dubbo-test/dubbo-dependencies-all/pom.xml
+++ b/dubbo-test/dubbo-dependencies-all/pom.xml
@@ -387,11 +387,6 @@
<artifactId>dubbo-spring-boot-autoconfigure</artifactId>
<version>${project.version}</version>
</dependency>
- <dependency>
- <groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo-spring-boot-3-autoconfigure</artifactId>
- <version>${project.version}</version>
- </dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-actuator-compatible</artifactId>
diff --git
a/dubbo-test/dubbo-test-modules/src/test/java/org/apache/dubbo/dependency/FileTest.java
b/dubbo-test/dubbo-test-modules/src/test/java/org/apache/dubbo/dependency/FileTest.java
index 80c94eb129..6cf83dda53 100644
---
a/dubbo-test/dubbo-test-modules/src/test/java/org/apache/dubbo/dependency/FileTest.java
+++
b/dubbo-test/dubbo-test-modules/src/test/java/org/apache/dubbo/dependency/FileTest.java
@@ -54,6 +54,8 @@ class FileTest {
ignoredModules.add(Pattern.compile("dubbo-demo.*"));
ignoredModules.add(Pattern.compile("dubbo-annotation-processor"));
ignoredModules.add(Pattern.compile("dubbo-config-spring6"));
+
ignoredModules.add(Pattern.compile("dubbo-spring-boot-3-autoconfigure"));
+ ignoredModules.add(Pattern.compile("dubbo-spring-boot-3-starter"));
ignoredModules.add(Pattern.compile("dubbo-plugin-loom.*"));
ignoredArtifacts.add(Pattern.compile("dubbo-demo.*"));
@@ -69,6 +71,8 @@ class FileTest {
ignoredModulesInDubboAll.add(Pattern.compile("dubbo-metadata-processor"));
ignoredModulesInDubboAll.add(Pattern.compile("dubbo-native.*"));
ignoredModulesInDubboAll.add(Pattern.compile("dubbo-config-spring6.*"));
+
ignoredModulesInDubboAll.add(Pattern.compile("dubbo-spring-boot-3-autoconfigure.*"));
+
ignoredModulesInDubboAll.add(Pattern.compile("dubbo-spring-boot-3-starter.*"));
ignoredModulesInDubboAll.add(Pattern.compile(".*spring-boot.*"));
ignoredModulesInDubboAll.add(Pattern.compile("dubbo-maven-plugin"));
}
diff --git
a/dubbo-xds/src/main/java/org/apache/dubbo/xds/registry/XdsServiceDiscovery.java
b/dubbo-xds/src/main/java/org/apache/dubbo/xds/registry/XdsServiceDiscovery.java
index 9e40fe6019..febf221e3b 100644
---
a/dubbo-xds/src/main/java/org/apache/dubbo/xds/registry/XdsServiceDiscovery.java
+++
b/dubbo-xds/src/main/java/org/apache/dubbo/xds/registry/XdsServiceDiscovery.java
@@ -23,6 +23,8 @@ import
org.apache.dubbo.registry.client.ReflectionBasedServiceDiscovery;
import org.apache.dubbo.rpc.model.ApplicationModel;
import org.apache.dubbo.xds.PilotExchanger;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_ERROR_INITIALIZE_XDS;
+
public class XdsServiceDiscovery extends ReflectionBasedServiceDiscovery {
private static final ErrorTypeAwareLogger logger =
LoggerFactory.getErrorTypeAwareLogger(XdsServiceDiscovery.class);
@@ -34,21 +36,21 @@ public class XdsServiceDiscovery extends
ReflectionBasedServiceDiscovery {
}
public void doInitialize(URL registryURL) {
- // try {
- // exchanger = PilotExchanger.initialize(registryURL);
- // } catch (Throwable t) {
- // logger.error(REGISTRY_ERROR_INITIALIZE_XDS, "", "",
t.getMessage(), t);
- // }
+ try {
+ exchanger = PilotExchanger.initialize(registryURL);
+ } catch (Throwable t) {
+ logger.error(REGISTRY_ERROR_INITIALIZE_XDS, "", "",
t.getMessage(), t);
+ }
}
public void doDestroy() {
- // try {
- // if (exchanger == null) {
- // return;
- // }
- // exchanger.destroy();
- // } catch (Throwable t) {
- // logger.error(REGISTRY_ERROR_INITIALIZE_XDS, "", "",
t.getMessage(), t);
- // }
+ try {
+ if (exchanger == null) {
+ return;
+ }
+ exchanger.destroy();
+ } catch (Throwable t) {
+ logger.error(REGISTRY_ERROR_INITIALIZE_XDS, "", "",
t.getMessage(), t);
+ }
}
}
diff --git
a/dubbo-xds/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.registry.RegistryFactory
b/dubbo-xds/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.registry.RegistryFactory
index aca79a9fdb..0df432b5c2 100644
---
a/dubbo-xds/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.registry.RegistryFactory
+++
b/dubbo-xds/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.registry.RegistryFactory
@@ -1 +1 @@
-istio=org.apache.dubbo.xds.registry.XdsRegistryFactory
+xds=org.apache.dubbo.xds.registry.XdsRegistryFactory