You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Operating System version: Linux version 4.19.91-21.al7.x86_64 (mockbuild@koji-aliyun011016174077.na61) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)) 不同的group应该是不同的注册中心 #1 SMP Wed Sep 2 19:47:49 CST 2020
Java version: 1.8.0_202
Steps to reproduce this issue
I have two projects, A and B, and A depends on project B. When I started Project A, there was no problem.
But when I start project B, the nacos listener of project A will perform service subscription discovery processing when it is running. At this time, it will cause cpu 100% .
Note: No problems in development and test environment
top -H -p 4279
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4763 prod 20 0 3908772 509644 16708 R 99.9 6.5 25:18.14 java
4279 prod 20 0 3908772 509644 16708 S 0.0 6.5 0:00.00 java
4281 prod 20 0 3908772 509644 16708 S 0.0 6.5 0:09.95 java
4282 prod 20 0 3908772 509644 16708 S 0.0 6.5 0:00.21 java
jstack 4279 >> 1.txt
Stack information of the thread in question
"com.alibaba.nacos.naming.client.listener" #459 daemon prio=5 os_prio=0 tid=0x00007f236d0d7000 nid=0x129b runnable [0x00007f23557fc000]
java.lang.Thread.State: RUNNABLE
at java.util.concurrent.ConcurrentHashMap.replaceNode(ConcurrentHashMap.java:1172)
at java.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:1097)
at com.alibaba.cloud.dubbo.service.DubboMetadataServiceProxy.removeProxy(DubboMetadataServiceProxy.java:76)
at com.alibaba.cloud.dubbo.metadata.repository.DubboServiceMetadataRepository.removeMetadataAndInitializedService(DubboServiceMetadataRepository.java:285)
- locked <0x00000000c1100838> (a java.lang.Object)
at com.alibaba.cloud.dubbo.registry.DubboCloudRegistry.notifyAllSubscribedURLs(DubboCloudRegistry.java:370)
at com.alibaba.cloud.dubbo.registry.DubboCloudRegistry.subscribeDubboMetadataServiceURLs(DubboCloudRegistry.java:470)
at com.alibaba.cloud.dubbo.registry.DubboCloudRegistry.subscribeDubboMetadataServiceURLs(DubboCloudRegistry.java:436)
at com.alibaba.cloud.dubbo.registry.DubboCloudRegistry.doSubscribe(DubboCloudRegistry.java:174)
at org.apache.dubbo.registry.support.FailbackRegistry.subscribe(FailbackRegistry.java:333)
at org.apache.dubbo.registry.ListenerRegistryWrapper.subscribe(ListenerRegistryWrapper.java:105)
at org.apache.dubbo.registry.integration.RegistryDirectory.subscribe(RegistryDirectory.java:185)
at org.apache.dubbo.registry.integration.RegistryProtocol.doRefer(RegistryProtocol.java:469)
at org.apache.dubbo.registry.integration.RegistryProtocol.refer(RegistryProtocol.java:454)
at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:72)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:161)
at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:73)
at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java)
at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:372)
at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:305)
- locked <0x00000000fef65188> (a org.apache.dubbo.config.spring.ReferenceBean)
at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:205)
- locked <0x00000000fef65188> (a org.apache.dubbo.config.spring.ReferenceBean)
at com.alibaba.cloud.dubbo.service.DubboGenericServiceFactory.create(DubboGenericServiceFactory.java:81)
at com.alibaba.cloud.dubbo.service.DubboMetadataServiceInvocationHandler.<init>(DubboMetadataServiceInvocationHandler.java:40)
at com.alibaba.cloud.dubbo.service.DubboMetadataServiceProxy.createProxy(DubboMetadataServiceProxy.java:192)
at com.alibaba.cloud.dubbo.service.DubboMetadataServiceProxy.lambda$createProxyIfAbsent$0(DubboMetadataServiceProxy.java:141)
at com.alibaba.cloud.dubbo.service.DubboMetadataServiceProxy$$Lambda$954/913139131.apply(Unknown Source)
at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)
- locked <0x00000000fef66d20> (a java.util.concurrent.ConcurrentHashMap$ReservationNode)
at com.alibaba.cloud.dubbo.service.DubboMetadataServiceProxy.createProxyIfAbsent(DubboMetadataServiceProxy.java:140)
at com.alibaba.cloud.dubbo.service.DubboMetadataServiceProxy.createProxyIfAbsent(DubboMetadataServiceProxy.java:130)
at com.alibaba.cloud.dubbo.service.DubboMetadataServiceProxy.getProxy(DubboMetadataServiceProxy.java:101)
at com.alibaba.cloud.dubbo.registry.DubboCloudRegistry.getProxy(DubboCloudRegistry.java:340)
at com.alibaba.cloud.dubbo.registry.DubboCloudRegistry.getTemplateExportedURLs(DubboCloudRegistry.java:319)
at com.alibaba.cloud.dubbo.registry.DubboCloudRegistry.lambda$cloneExportedURLs$6(DubboCloudRegistry.java:288)
at com.alibaba.cloud.dubbo.registry.DubboCloudRegistry$$Lambda$952/1017604146.accept(Unknown Source)
at java.util.ArrayList.forEach(ArrayList.java:1257)
at com.alibaba.cloud.dubbo.registry.DubboCloudRegistry.cloneExportedURLs(DubboCloudRegistry.java:284)
at com.alibaba.cloud.dubbo.registry.DubboCloudRegistry.getExportedURLs(DubboCloudRegistry.java:265)
at com.alibaba.cloud.dubbo.registry.DubboCloudRegistry.subscribeURLs(DubboCloudRegistry.java:240)
at com.alibaba.cloud.dubbo.registry.DubboCloudRegistry.subscribeURLs(DubboCloudRegistry.java:227)
at com.alibaba.cloud.dubbo.registry.DubboCloudRegistry.lambda$subscribeURLs$2(DubboCloudRegistry.java:206)
at com.alibaba.cloud.dubbo.registry.DubboCloudRegistry$$Lambda$676/451312813.accept(Unknown Source)
at java.lang.Iterable.forEach(Iterable.java:75)
at java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1080)
at com.alibaba.cloud.dubbo.registry.DubboCloudRegistry.subscribeURLs(DubboCloudRegistry.java:204)
at com.alibaba.cloud.dubbo.registry.DubboCloudRegistry.lambda$subscribeURLs$0(DubboCloudRegistry.java:194)
at com.alibaba.cloud.dubbo.registry.DubboCloudRegistry$$Lambda$679/1178290888.onApplicationEvent(Unknown Source)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:404)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:361)
at com.alibaba.cloud.dubbo.autoconfigure.DubboServiceDiscoveryAutoConfiguration.dispatchServiceInstancesChangedEvent(DubboServiceDiscoveryAutoConfiguration.java:175)
at com.alibaba.cloud.dubbo.autoconfigure.DubboServiceDiscoveryAutoConfiguration.access$200(DubboServiceDiscoveryAutoConfiguration.java:108)
at com.alibaba.cloud.dubbo.autoconfigure.DubboServiceDiscoveryAutoConfiguration$NacosConfiguration.lambda$subscribeEventListener$1(DubboServiceDiscoveryAutoConfiguration.java:557)
at com.alibaba.cloud.dubbo.autoconfigure.DubboServiceDiscoveryAutoConfiguration$NacosConfiguration$$Lambda$866/1442236552.onEvent(Unknown Source)
at com.alibaba.nacos.client.naming.core.EventDispatcher$Notifier.run(EventDispatcher.java:177)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Environment
The framework I user is spring cloud alibaba
The dubbo version information used internally is
The service registry uses nacos
Steps to reproduce this issue
I have two projects, A and B, and A depends on project B. When I started Project A, there was no problem.
Dubbo related configuration
But when I start project B, the nacos listener of project A will perform service subscription discovery processing when it is running. At this time, it will cause cpu 100% .
Note: No problems in development and test environment
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4763 prod 20 0 3908772 509644 16708 R 99.9 6.5 25:18.14 java
4279 prod 20 0 3908772 509644 16708 S 0.0 6.5 0:00.00 java
4281 prod 20 0 3908772 509644 16708 S 0.0 6.5 0:09.95 java
4282 prod 20 0 3908772 509644 16708 S 0.0 6.5 0:00.21 java
Stack information of the thread in question