You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by GitBox <gi...@apache.org> on 2021/07/29 15:18:47 UTC

[GitHub] [dubbo] haoyann opened a new issue #8372: [3.0] Nacos should query the remote when the service is not subscribed

haoyann opened a new issue #8372:
URL: https://github.com/apache/dubbo/issues/8372


   - [x] I have searched the [issues](https://github.com/apache/dubbo/issues) of this repository and believe that this is not a duplicate.
   - [x] I have checked the [FAQ](https://github.com/apache/dubbo/blob/master/FAQ.md) of this repository and believe that this is not a duplicate.
   
   ### Steps to reproduce this issue
   
   1. Registry center uses nacos. 
   2. Dubbo default  enable local file cache. ` putPropertyIfAbsent(url, properties, NAMING_LOAD_CACHE_AT_START, "true")`
   3. When consumer cache service message, stop the consumer and change the provider port.
   4. Restart consumer, get service from the local cache not remote can't get latest provider.
   5. Get metadata error.
   ```
   [29/07/21 22:50:30:621 CST] main ERROR listener.ServiceInstancesChangedListener:  [DUBBO] Failed to get MetadataInfo for instance 192.168.1.3:20882?revision=9e01c93d27cdeeca3d269453cc930929&cluster=null, wait for retry., dubbo version: 3.0.2-SNAPSHOT, current host: 192.168.1.3
   
   ```
   ***
   The key point is to dubbo query the service information before subscribing to the service. But nacos refreshes the local information after subscribing to the service. So if the consumer has a local cache service, and the remote provider is inconsistent with the local cache. The first time you get metadata, it will be abnormal.
   
   https://github.com/apache/dubbo/blob/4149543bed77fb9d4f859c766c4d90aa09bc81af/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistry.java#L309
   
   https://github.com/apache/dubbo/blob/4149543bed77fb9d4f859c766c4d90aa09bc81af/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistry.java#L323
   ***
   This method should be used. Call the remote when there is no subscribe.
   `com.alibaba.nacos.api.naming.NamingService#getAllInstances(java.lang.String, java.lang.String, boolean)`


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo] haoyann closed issue #8372: [3.0] Nacos should query the remote when the service is not subscribed

Posted by GitBox <gi...@apache.org>.
haoyann closed issue #8372:
URL: https://github.com/apache/dubbo/issues/8372


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo] haoyann commented on issue #8372: [3.0] Nacos should query the remote when the service is not subscribed

Posted by GitBox <gi...@apache.org>.
haoyann commented on issue #8372:
URL: https://github.com/apache/dubbo/issues/8372#issuecomment-892495261


   The reason is in pr.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org