From 9837cfbb0b4e008d976aa02a7a8c0730b4fa3514 Mon Sep 17 00:00:00 2001 From: Albumen Kevin Date: Wed, 26 Jul 2023 11:10:54 +0800 Subject: [PATCH] Fix register failed if re-register service discovery (#12795) --- .../registry/client/AbstractServiceDiscovery.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/AbstractServiceDiscovery.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/AbstractServiceDiscovery.java index 9da383d771..b3b771c20e 100644 --- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/AbstractServiceDiscovery.java +++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/AbstractServiceDiscovery.java @@ -132,11 +132,13 @@ public abstract class AbstractServiceDiscovery implements ServiceDiscovery { if (isDestroy) { return; } - ServiceInstance serviceInstance = createServiceInstance(this.metadataInfo); - if (!isValidInstance(serviceInstance)) { - return; + if (this.serviceInstance == null) { + ServiceInstance serviceInstance = createServiceInstance(this.metadataInfo); + if (!isValidInstance(serviceInstance)) { + return; + } + this.serviceInstance = serviceInstance; } - this.serviceInstance = serviceInstance; boolean revisionUpdated = calOrUpdateInstanceRevision(this.serviceInstance); if (revisionUpdated) { reportMetadata(this.metadataInfo);