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

Reply via email to