dubbo icon indicating copy to clipboard operation
dubbo copied to clipboard

[Bug] The version is upgraded, causing the broadcast mode to be unavailable

Open nuoqin opened this issue 1 year ago • 3 comments

Pre-check

  • [X] I am sure that all the content I provide is in English.

Search before asking

  • [X] I had searched in the issues and found no similar issues.

Apache Dubbo Component

Java SDK (apache/dubbo)

Dubbo Version

Dubbo JAVA 2.7.6 JDK 1.8.211 windows10

Steps to reproduce this issue

the problem is from version 2.7.6 to version 2.7.23 3.0.X, the code has not changed in any way, there are detailed screenshots in it

Here's the code

import com.caas.dubbo.service.CacheService;
import org.apache.dubbo.config.ApplicationConfig;
import org.apache.dubbo.config.ReferenceConfig;
import org.apache.dubbo.config.RegistryConfig;

/**
 * @Description TODO
 * @Author nuoqin
 * @DATA 2024/6/4 9:47
 */
public class BroadCastTest {

    public static void main(String[] args) {
        
        //this is 2.7.23
        ReferenceConfig<CacheService> reference = new ReferenceConfig<>();
        reference.setApplication(new ApplicationConfig("canal-dubbo-consumer-1"));
        RegistryConfig registryConfig = new RegistryConfig("zookeeper://192.168.250.46:2181");
        registryConfig.setCluster("broadcast");
        reference.setRegistry(registryConfig);

        reference.setRetries(0);
        reference.setInterface(CacheService.class);

        CacheService service = reference.get();

        System.out.println(service.updateCache());

    }
}

What you expected to happen

When I upgraded the system from dubbo 2.7.6 to 2.7.23, 3.0.X, I found that the 2.7.6 settings broadcast can be placed in "registryConfig.setCluster("broadcast"); But after the upgrade, it was found that the service was called again, and only one service got a response. before 2.7.6 f22152c614f0b0a3f910a76fc8dac6d after 2.7.23 2539a909f4ec19ca5e92d4bd12c6235

The picture above is a piece of test code that I wrote based on our business,

Anything else

No response

Are you willing to submit a pull request to fix on your own?

  • [X] Yes I am willing to submit a pull request on my own!

Code of Conduct

nuoqin avatar Jun 04 '24 03:06 nuoqin

I`m working on it

wcy666103 avatar Jun 04 '24 03:06 wcy666103

I tested these versions and the results were fine: dubbo3.0.4 spring boot2.7.18-SNAPSHOT jdk8 jdk17 springboot 2.3.12.RELASE dubbo2.7.21 jdk8

wcy666103 avatar Jun 04 '24 13:06 wcy666103

project.zip

This is my processed code. You can try packaging it and running it on two servers.

image

Above is a project structure I constructed

caas-dubbo-2、caas-dubbo-3,These two are a springboot project,Used to provide service calls.

caas-dubbo-consumer-276、caas-dubbo-consumer-2723、caas-dubbo-consumer-308,These three representative projects are used for broadcasting calls.The numerical suffix represents the version of dubbo(e.g: 276 = dubbo 2.7.6 version). There is no problem with caas-dubbo-consumer-276。

Therefore, you can test this project on two or more services,Thank you again for taking the time to answer amidst your busy schedule

nuoqin avatar Jun 05 '24 02:06 nuoqin