dubbo icon indicating copy to clipboard operation
dubbo copied to clipboard

[Bug] dubbo-3.3.0-beta5 start warning exporterMap can not be null

Open aliuql opened this issue 1 year ago • 2 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-3.3.0-beta5 jdk1.8.333 windows 11

Steps to reproduce this issue

一、I have 2 dynamic config in nacos,

  1. app dynamic config
    dubbo-provider.configurators
      ---
      configVersion: v3.0
      enabled: true
      scope: application
      key: dubbo-provider
      configs:
      - side: provider
        parameters:
          timeout: 9100
  1. service dynamic config
    org.apache.dubbo.springboot.demo.DemoService:1.0:test1.configurators
      ---
      configVersion: v3.0
      enabled: true
      scope: service
      key: test1/org.apache.dubbo.springboot.demo.DemoService:1.0
      configs:
      - side: provider
        parameters:
          timeout: 9200
      - side: consumer
        parameters:
          timeout: 9400

二、when i start the provider, dubbo.application.name: dubbo-provider report the warning log:

17:12:56.904 |-INFO  [main] ubbo.config.deploy.DefaultModuleDeployer:149 -|  [DUBBO] Dubbo Module[1.1.0] has been initialized!, dubbo version: 3.3.0-beta.5, current host: 192.168.56.1
17:12:56.909 |-INFO  [main] ubbo.config.deploy.DefaultModuleDeployer:149 -|  [DUBBO] Dubbo Module[1.1.1] has been initialized!, dubbo version: 3.3.0-beta.5, current host: 192.168.56.1
17:12:57.000 |-INFO  [main] .auth.spi.client.ClientAuthPluginManager:56  -| [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl success.
17:12:57.000 |-INFO  [main] .auth.spi.client.ClientAuthPluginManager:56  -| [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl success.
17:12:57.677 |-INFO  [main] config.deploy.DefaultApplicationDeployer:243 -|  [DUBBO] Dubbo Application[1.1](dubbo-provider) has been initialized!, dubbo version: 3.3.0-beta.5, current host: 192.168.56.1
17:12:57.747 |-INFO  [main] ubbo.config.deploy.DefaultModuleDeployer:365 -|  [DUBBO] Dubbo Module[1.1.1] is starting., dubbo version: 3.3.0-beta.5, current host: 192.168.56.1
17:12:57.747 |-INFO  [main] config.deploy.DefaultApplicationDeployer:1328 -|  [DUBBO] Dubbo Application[1.1](dubbo-provider) is starting., dubbo version: 3.3.0-beta.5, current host: 192.168.56.1
17:12:58.344 |-INFO  [main] he.dubbo.qos.protocol.QosProtocolWrapper:109 -|  [DUBBO] qos won't be started because it is disabled. Please check dubbo.application.qos.enable is configured either in system property, dubbo.properties or XML/spring-boot configuration., dubbo version: 3.3.0-beta.5, current host: 192.168.56.1
17:12:58.347 |-INFO  [main]    org.apache.dubbo.config.ServiceConfig:987 -|  [DUBBO] Export dubbo service org.apache.dubbo.springboot.demo.DemoService to local registry url : injvm://127.0.0.1/org.apache.dubbo.springboot.demo.DemoService?anyhost=true&application=dubbo-provider&background=false&bind.ip=192.168.56.1&bind.port=38008&deprecated=false&dubbo=2.0.2&dynamic=true&executor-management-mode=isolation&exporter.listener=injvm&file-cache=true&generic=false&group=test2&interface=org.apache.dubbo.springboot.demo.DemoService&logger=slf4j&metadata-type=local&methods=sayHello&pid=44076&prefer.serialization=hessian2,fastjson2&qos.enable=false&register-mode=all&release=3.3.0-beta.5&revision=2.0&sayHello.return=true&sayHello.sent=true&sayHello.timeout=80000&side=provider&timeout=70000&timestamp=1725613977918&triple.enable.push=false&triple.header.table.size=4096&triple.initial.buffer.size=16384&triple.initial.window.size=8388608&triple.max.body.size=8388608&triple.max.chunk.size=8388608&triple.max.concurrent.streams=2147483647&triple.max.frame.size=8388608&triple.max.header.list.size=32768&triple.max.header.size=8192&triple.max.initial.line.length=4096&triple.max.response.body.size=8388608&version=2.0, dubbo version: 3.3.0-beta.5, current host: 192.168.56.1
17:12:58.347 |-INFO  [main]    org.apache.dubbo.config.ServiceConfig:932 -|  [DUBBO] Register dubbo service org.apache.dubbo.springboot.demo.DemoService url dubbo://192.168.56.1:38008/org.apache.dubbo.springboot.demo.DemoService?anyhost=true&application=dubbo-provider&background=false&bind.ip=192.168.56.1&bind.port=38008&deprecated=false&dubbo=2.0.2&dynamic=true&executor-management-mode=isolation&file-cache=true&generic=false&group=test2&interface=org.apache.dubbo.springboot.demo.DemoService&logger=slf4j&metadata-type=local&methods=sayHello&pid=44076&prefer.serialization=hessian2,fastjson2&qos.enable=false&register-mode=all&release=3.3.0-beta.5&revision=2.0&sayHello.return=true&sayHello.sent=true&sayHello.timeout=80000&service-name-mapping=true&side=provider&timeout=70000&timestamp=1725613977918&triple.enable.push=false&triple.header.table.size=4096&triple.initial.buffer.size=16384&triple.initial.window.size=8388608&triple.max.body.size=8388608&triple.max.chunk.size=8388608&triple.max.concurrent.streams=2147483647&triple.max.frame.size=8388608&triple.max.header.list.size=32768&triple.max.header.size=8192&triple.max.initial.line.length=4096&triple.max.response.body.size=8388608&version=2.0 to registry dubbo.nacos:38848, dubbo version: 3.3.0-beta.5, current host: 192.168.56.1
17:12:58.350 |-INFO  [main] he.dubbo.qos.protocol.QosProtocolWrapper:109 -|  [DUBBO] qos won't be started because it is disabled. Please check dubbo.application.qos.enable is configured either in system property, dubbo.properties or XML/spring-boot configuration., dubbo version: 3.3.0-beta.5, current host: 192.168.56.1
17:12:58.483 |-INFO  [main] nfigurator.override.OverrideConfigurator:36  -|  [DUBBO] Start overriding url dubbo://192.168.56.1:38008/org.apache.dubbo.springboot.demo.DemoService?anyhost=true&application=dubbo-provider&background=false&bind.ip=192.168.56.1&bind.port=38008&deprecated=false&dubbo=2.0.2&dynamic=true&executor-management-mode=isolation&file-cache=true&generic=false&group=test2&interface=org.apache.dubbo.springboot.demo.DemoService&logger=slf4j&metadata-type=local&methods=sayHello&pid=44076&prefer.serialization=hessian2,fastjson2&qos.enable=false&register-mode=all&release=3.3.0-beta.5&revision=2.0&sayHello.return=true&sayHello.sent=true&sayHello.timeout=80000&service-name-mapping=true&side=provider&timeout=70000&timestamp=1725613977918&triple.enable.push=false&triple.header.table.size=4096&triple.initial.buffer.size=16384&triple.initial.window.size=8388608&triple.max.body.size=8388608&triple.max.chunk.size=8388608&triple.max.concurrent.streams=2147483647&triple.max.frame.size=8388608&triple.max.header.list.size=32768&triple.max.header.size=8192&triple.max.initial.line.length=4096&triple.max.response.body.size=8388608&version=2.0 with override url override://0.0.0.0/*?providerAddresses=0.0.0.0&timeout=9100, dubbo version: 3.3.0-beta.5, current host: 192.168.56.1
17:12:58.557 |-INFO  [main] nfigurator.override.OverrideConfigurator:36  -|  [DUBBO] Start overriding url dubbo://192.168.56.1:38008/org.apache.dubbo.springboot.demo.DemoService?anyhost=true&application=dubbo-provider&background=false&bind.ip=192.168.56.1&bind.port=38008&deprecated=false&dubbo=2.0.2&dynamic=true&executor-management-mode=isolation&file-cache=true&generic=false&group=test2&interface=org.apache.dubbo.springboot.demo.DemoService&logger=slf4j&metadata-type=local&methods=sayHello&pid=44076&prefer.serialization=hessian2,fastjson2&providerAddresses=0.0.0.0&qos.enable=false&register-mode=all&release=3.3.0-beta.5&revision=2.0&sayHello.return=true&sayHello.sent=true&sayHello.timeout=80000&service-name-mapping=true&side=provider&timeout=9100&timestamp=1725613977918&triple.enable.push=false&triple.header.table.size=4096&triple.initial.buffer.size=16384&triple.initial.window.size=8388608&triple.max.body.size=8388608&triple.max.chunk.size=8388608&triple.max.concurrent.streams=2147483647&triple.max.frame.size=8388608&triple.max.header.list.size=32768&triple.max.header.size=8192&triple.max.initial.line.length=4096&triple.max.response.body.size=8388608&version=2.0 with override url override://0.0.0.0/org.apache.dubbo.springboot.demo.DemoService?providerAddresses=0.0.0.0&timeout=9200, dubbo version: 3.3.0-beta.5, current host: 192.168.56.1
17:12:58.559 |-INFO  [main] he.dubbo.qos.protocol.QosProtocolWrapper:109 -|  [DUBBO] qos won't be started because it is disabled. Please check dubbo.application.qos.enable is configured either in system property, dubbo.properties or XML/spring-boot configuration., dubbo version: 3.3.0-beta.5, current host: 192.168.56.1
17:12:58.781 |-INFO  [nacos.client.config.listener.task-0] integration.AbstractConfiguratorListener:91  -|  [DUBBO] Notification of overriding rule, change type is: ADDED, raw config content is:
 ---
configVersion: v3.0
enabled: true
scope: service
key: test2/org.apache.dubbo.springboot.demo.DemoService:2.0
configs:
- side: provider
  parameters:
    timeout: 9200
- side: consumer
  parameters:
    timeout: 9400
, dubbo version: 3.3.0-beta.5, current host: 192.168.56.1
17:12:58.782 |-WARN  [nacos.client.config.listener.task-0] bo.registry.integration.RegistryProtocol:    -|  [DUBBO] error state, exporterMap can not be null, dubbo version: 3.3.0-beta.5, current host: 192.168.56.1, error code: 99-0. This may be caused by error state, exporterMap can not be null, go to https://dubbo.apache.org/faq/99/0 to find instructions. 
java.lang.IllegalStateException: error state, exporterMap can not be null
	at org.apache.dubbo.registry.integration.RegistryProtocol$OverrideListener.doOverrideIfNecessary(RegistryProtocol.java:846) ~[dubbo-3.3.0-beta.5.jar:3.3.0-beta.5]
	at org.apache.dubbo.registry.integration.RegistryProtocol$ServiceConfigurationListener.notifyOverrides(RegistryProtocol.java:940) ~[dubbo-3.3.0-beta.5.jar:3.3.0-beta.5]
	at org.apache.dubbo.registry.integration.AbstractConfiguratorListener.process(AbstractConfiguratorListener.java:104) ~[dubbo-3.3.0-beta.5.jar:3.3.0-beta.5]
	at org.apache.dubbo.configcenter.support.nacos.NacosDynamicConfiguration$NacosConfigListener.lambda$innerReceive$0(NacosDynamicConfiguration.java:363) ~[dubbo-3.3.0-beta.5.jar:3.3.0-beta.5]
	at java.util.concurrent.CopyOnWriteArrayList.forEach(CopyOnWriteArrayList.java:895) ~[?:1.8.0_333]
	at java.util.concurrent.CopyOnWriteArraySet.forEach(CopyOnWriteArraySet.java:404) ~[?:1.8.0_333]
	at org.apache.dubbo.configcenter.support.nacos.NacosDynamicConfiguration$NacosConfigListener.innerReceive(NacosDynamicConfiguration.java:363) ~[dubbo-3.3.0-beta.5.jar:3.3.0-beta.5]
	at com.alibaba.nacos.api.config.listener.AbstractSharedListener.receiveConfigInfo(AbstractSharedListener.java:40) ~[nacos-client-2.4.0.jar:?]
	at com.alibaba.nacos.client.config.impl.CacheData$1.run(CacheData.java:440) ~[nacos-client-2.4.0.jar:?]
	at com.alibaba.nacos.client.config.impl.CacheData.safeNotifyListener(CacheData.java:483) ~[nacos-client-2.4.0.jar:?]
	at com.alibaba.nacos.client.config.impl.CacheData.checkListenerMd5(CacheData.java:324) ~[nacos-client-2.4.0.jar:?]
	at com.alibaba.nacos.client.config.impl.ClientWorker$ConfigRpcTransportClient.refreshContentAndCheck(ClientWorker.java:944) ~[nacos-client-2.4.0.jar:?]
	at com.alibaba.nacos.client.config.impl.ClientWorker$ConfigRpcTransportClient.refreshContentAndCheck(ClientWorker.java:925) ~[nacos-client-2.4.0.jar:?]
	at com.alibaba.nacos.client.config.impl.ClientWorker$ConfigRpcTransportClient.lambda$checkListenCache$7(ClientWorker.java:1034) ~[nacos-client-2.4.0.jar:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_333]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_333]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_333]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_333]
	at java.lang.Thread.run(Thread.java:750) ~[?:1.8.0_333]
17:12:58.897 |-INFO  [main] .dubbo.remoting.transport.AbstractServer:71  -|  [DUBBO] Start NettyServer bind /0.0.0.0:38008, export /192.168.56.1:38008, dubbo version: 3.3.0-beta.5, current host: 192.168.56.1
17:12:58.930 |-INFO  [main] .auth.spi.client.ClientAuthPluginManager:56  -| [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl success.
17:12:58.930 |-INFO  [main] .auth.spi.client.ClientAuthPluginManager:56  -| [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl success.
17:12:59.473 |-INFO  [main] registry.nacos.NacosNamingServiceWrapper:71  -|  [DUBBO] Nacos batch register enable: true, dubbo version: 3.3.0-beta.5, current host: 192.168.56.1
17:12:59.484 |-INFO  [main] y.client.migration.MigrationRuleListener:106 -|  [DUBBO] Listening for migration rules on dataId dubbo-provider.migration, group DUBBO_SERVICEDISCOVERY_MIGRATION, dubbo version: 3.3.0-beta.5, current host: 192.168.56.1
17:12:59.598 |-INFO  [main]    org.apache.dubbo.config.ServiceConfig:932 -|  [DUBBO] Register dubbo service org.apache.dubbo.springboot.demo.DemoService url dubbo://192.168.56.1:38008/org.apache.dubbo.springboot.demo.DemoService?anyhost=true&application=dubbo-provider&background=false&bind.ip=192.168.56.1&bind.port=38008&deprecated=false&dubbo=2.0.2&dynamic=true&executor-management-mode=isolation&file-cache=true&generic=false&group=test2&interface=org.apache.dubbo.springboot.demo.DemoService&logger=slf4j&metadata-type=local&methods=sayHello&pid=44076&prefer.serialization=hessian2,fastjson2&qos.enable=false&register-mode=all&release=3.3.0-beta.5&revision=2.0&sayHello.return=true&sayHello.sent=true&sayHello.timeout=80000&service-name-mapping=true&side=provider&timeout=70000&timestamp=1725613977918&triple.enable.push=false&triple.header.table.size=4096&triple.initial.buffer.size=16384&triple.initial.window.size=8388608&triple.max.body.size=8388608&triple.max.chunk.size=8388608&triple.max.concurrent.streams=2147483647&triple.max.frame.size=8388608&triple.max.header.list.size=32768&triple.max.header.size=8192&triple.max.initial.line.length=4096&triple.max.response.body.size=8388608&version=2.0 to registry dubbo.nacos:38848, dubbo version: 3.3.0-beta.5, current host: 192.168.56.1
17:12:59.598 |-INFO  [main] he.dubbo.qos.protocol.QosProtocolWrapper:109 -|  [DUBBO] qos won't be started because it is disabled. Please check dubbo.application.qos.enable is configured either in system property, dubbo.properties or XML/spring-boot configuration., dubbo version: 3.3.0-beta.5, current host: 192.168.56.1
17:12:59.599 |-INFO  [main] nfigurator.override.OverrideConfigurator:36  -|  [DUBBO] Start overriding url dubbo://192.168.56.1:38008/org.apache.dubbo.springboot.demo.DemoService?anyhost=true&application=dubbo-provider&background=false&bind.ip=192.168.56.1&bind.port=38008&deprecated=false&dubbo=2.0.2&dynamic=true&executor-management-mode=isolation&file-cache=true&generic=false&group=test2&interface=org.apache.dubbo.springboot.demo.DemoService&logger=slf4j&metadata-type=local&methods=sayHello&pid=44076&prefer.serialization=hessian2,fastjson2&qos.enable=false&register-mode=all&release=3.3.0-beta.5&revision=2.0&sayHello.return=true&sayHello.sent=true&sayHello.timeout=80000&service-name-mapping=true&side=provider&timeout=70000&timestamp=1725613977918&triple.enable.push=false&triple.header.table.size=4096&triple.initial.buffer.size=16384&triple.initial.window.size=8388608&triple.max.body.size=8388608&triple.max.chunk.size=8388608&triple.max.concurrent.streams=2147483647&triple.max.frame.size=8388608&triple.max.header.list.size=32768&triple.max.header.size=8192&triple.max.initial.line.length=4096&triple.max.response.body.size=8388608&version=2.0 with override url override://0.0.0.0/*?providerAddresses=0.0.0.0&timeout=9100, dubbo version: 3.3.0-beta.5, current host: 192.168.56.1
17:12:59.677 |-INFO  [main] nfigurator.override.OverrideConfigurator:36  -|  [DUBBO] Start overriding url dubbo://192.168.56.1:38008/org.apache.dubbo.springboot.demo.DemoService?anyhost=true&application=dubbo-provider&background=false&bind.ip=192.168.56.1&bind.port=38008&deprecated=false&dubbo=2.0.2&dynamic=true&executor-management-mode=isolation&file-cache=true&generic=false&group=test2&interface=org.apache.dubbo.springboot.demo.DemoService&logger=slf4j&metadata-type=local&methods=sayHello&pid=44076&prefer.serialization=hessian2,fastjson2&providerAddresses=0.0.0.0&qos.enable=false&register-mode=all&release=3.3.0-beta.5&revision=2.0&sayHello.return=true&sayHello.sent=true&sayHello.timeout=80000&service-name-mapping=true&side=provider&timeout=9100&timestamp=1725613977918&triple.enable.push=false&triple.header.table.size=4096&triple.initial.buffer.size=16384&triple.initial.window.size=8388608&triple.max.body.size=8388608&triple.max.chunk.size=8388608&triple.max.concurrent.streams=2147483647&triple.max.frame.size=8388608&triple.max.header.list.size=32768&triple.max.header.size=8192&triple.max.initial.line.length=4096&triple.max.response.body.size=8388608&version=2.0 with override url override://0.0.0.0/org.apache.dubbo.springboot.demo.DemoService?providerAddresses=0.0.0.0&timeout=9200, dubbo version: 3.3.0-beta.5, current host: 192.168.56.1

What you expected to happen

does not report warning log, because it report the warnning every service export, too many warnning

Anything else

No response

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

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

Code of Conduct

aliuql avatar Sep 06 '24 09:09 aliuql

Can you pls provide a demo?

AlbumenJ avatar Sep 11 '24 08:09 AlbumenJ

demo project github address: https://github.com/aliuql/dubbo-samples-spring-boot.git start the module: dubbo-samples-spring-boot-provider

image

config center is nacos, the address of nacos is public address: http://150.158.15.11:38848/nacos username: nacos password: app@qwe123 namespace: dev

the dubbo-admin dynamic config: image

aliuql avatar Sep 12 '24 13:09 aliuql