apache / dubbo

The java implementation of Apache Dubbo. An RPC and microservice framework.
https://dubbo.apache.org/
Apache License 2.0
40.46k stars 26.42k forks source link

[Bug] Dubbo 3.2.11 , use dual registries(ZK+Nacos),provider defined timeout expires(consumer no timeout specified) #14335

Closed mrwangyin closed 4 months ago

mrwangyin commented 4 months ago

consumer configuration:

spring.application.name=dubbo-springboot-demo-consumer server.port=9999 dubbo.application.name=${spring.application.name} dubbo.protocol.name=dubbo dubbo.protocol.host=172.16.1.16 dubbo.protocol.port=20888

dubbo.registries.nacos-registry.address=nacos://10.10.10.203:8848?username=nacos&password=nacos dubbo.registries.nacos-registry.default=true dubbo.registries.nacos-registry.timeout=11000 dubbo.registries.nacos-registry.use-as-config-center=false dubbo.registries.nacos-registry.use-as-metadata-center=false dubbo.registries.nacos-registry.parameters.namespace=dubbo_timeout

dubbo.registries.nacos.parameters.group=registry-center

dubbo.registries.nacos-registry.register-mode=instance dubbo.registries.nacos-registry.parameters.register-consumer-url=true dubbo.registries.zk-registry.preferred=true

dubbo.registries.zk-registry.address=zookeeper://127.0.0.1:2181 dubbo.registries.zk-registry.default=true dubbo.registries.zk-registry.timeout=8000 dubbo.registries.zk-registry.use-as-config-center=false dubbo.registries.zk-registry.use-as-metadata-center=false dubbo.registries.zk-registry.register-mode=instance

dubbo.config-centers.zk-registry.address=${dubbo.registries.zk-registry.address} dubbo.config-centers.zk-registry.timeout=13000

dubbo.config-centers.nacos-registry.address=${dubbo.registries.nacos-registry.address} dubbo.config-centers.nacos-registry.timeout=14000 dubbo.config-centers.nacos-registry.parameters.namespace=${dubbo.registries.nacos-registry.parameters.namespace} dubbo.config-centers.nacos-registry.parameters.group=config-center

dubbo.metadata-reports.zk-registry.address=${dubbo.registries.zk-registry.address} dubbo.metadata-reports.zk-registry.timeout=15000

dubbo.metadata-reports.nacos-registry.address=${dubbo.registries.nacos-registry.address} dubbo.metadata-reports.nacos-registry.timeout=16000 dubbo.metadata-reports.nacos-registry.parameters.namespace=${dubbo.registries.nacos-registry.parameters.namespace} dubbo.metadata-reports.nacos-registry.parameters.group=metadata-center

provider configuration:

spring.application.name=dubbo-springboot-demo-provider server.port=8888 dubbo.application.name=${spring.application.name} dubbo.protocol.name=dubbo dubbo.protocol.host=172.16.1.16 dubbo.protocol.port=20889

dubbo.registries.nacos-registry.address=nacos://10.10.10.203:8848?username=nacos&password=nacos dubbo.registries.nacos-registry.default=true dubbo.registries.nacos-registry.timeout=11000 dubbo.registries.nacos-registry.use-as-config-center=false dubbo.registries.nacos-registry.use-as-metadata-center=false dubbo.registries.nacos-registry.parameters.namespace=dubbo_timeout

dubbo.registries.nacos.parameters.group=registry-center

dubbo.registries.nacos-registry.register-mode=instance dubbo.registries.nacos-registry.parameters.register-consumer-url=true dubbo.registries.zk-registry.preferred=true

dubbo.registries.zk-registry.address=zookeeper://127.0.0.1:2181 dubbo.registries.zk-registry.default=true dubbo.registries.zk-registry.timeout=9000 dubbo.registries.zk-registry.use-as-config-center=false dubbo.registries.zk-registry.use-as-metadata-center=false dubbo.registries.zk-registry.register-mode=instance

dubbo.config-centers.zk-registry.address=${dubbo.registries.zk-registry.address} dubbo.config-centers.zk-registry.timeout=13000

dubbo.config-centers.nacos-registry.address=${dubbo.registries.nacos-registry.address} dubbo.config-centers.nacos-registry.timeout=14000 dubbo.config-centers.nacos-registry.parameters.namespace=${dubbo.registries.nacos-registry.parameters.namespace} dubbo.config-centers.nacos-registry.parameters.group=config-center

dubbo.metadata-reports.zk-registry.address=${dubbo.registries.zk-registry.address} dubbo.metadata-reports.zk-registry.timeout=15000

dubbo.metadata-reports.nacos-registry.address=${dubbo.registries.nacos-registry.address} dubbo.metadata-reports.nacos-registry.timeout=16000 dubbo.metadata-reports.nacos-registry.parameters.namespace=${dubbo.registries.nacos-registry.parameters.namespace} dubbo.metadata-reports.nacos-registry.parameters.group=metadata-center

When the app initializes invoker,DEBUG will enter the code block below:

image

When the consumer calls the provider (timeout is specified), the consumer side will use dubbo.registries.zk-registry.timeout = 8000 as the timeout, which will cause the timeout defined by the provider to expire;

provider timeout for configuration:

image

consumer no timeout configured

image

Anything else

No response

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

Code of Conduct

mrwangyin commented 4 months ago

image

AlbumenJ commented 4 months ago

Please submit the issue in English only:)

mrwangyin commented 4 months ago

Please submit the issue in English only:)

翻译了一下,请谅解 :)

AlbumenJ commented 4 months ago

Please submit a new one