Open ChinaJeckXu opened 18 hours ago
经过测试,确认当前2.X分支也存在上述问题 2024-10-22 13:35:18.148 INFO 31020 --- [ main] o.a.s.s.b.a.SeataAutoConfiguration : Automatically configure Seata 2024-10-22 13:35:18.170 INFO 31020 --- [ main] ServiceLoader$InnerEnhancedServiceLoader : Load compatible class io.seata.spring.annotation.ScannerChecker 2024-10-22 13:35:18.299 INFO 31020 --- [ main] ServiceLoader$InnerEnhancedServiceLoader : Ignore load compatible class io.seata.config.ExtConfigurationProvider, because is not assignable from origin type org.apache.seata.config.ExtConfigurationProvider 2024-10-22 13:35:18.310 INFO 31020 --- [ main] o.a.seata.config.ConfigurationFactory : load Configuration from :Spring Configuration 2024-10-22 13:35:18.314 INFO 31020 --- [ main] ServiceLoader$InnerEnhancedServiceLoader : Load compatible class io.seata.config.ConfigurationProvider 2024-10-22 13:35:18.326 INFO 31020 --- [ main] o.a.s.config.nacos.NacosConfiguration : Nacos check auth with userName/password. 2024-10-22 13:35:18.596 INFO 31020 --- [ main] ServiceLoader$InnerEnhancedServiceLoader : Load compatible class io.seata.integration.tx.api.remoting.RemotingParser 2024-10-22 13:35:18.599 INFO 31020 --- [ main] o.a.s.s.a.GlobalTransactionScanner : Initializing Global Transaction Clients ... 2024-10-22 13:35:18.921 INFO 31020 --- [ main] ServiceLoader$InnerEnhancedServiceLoader : Load compatible class io.seata.core.auth.AuthSigner 2024-10-22 13:35:18.961 INFO 31020 --- [ main] o.a.s.c.rpc.netty.NettyClientBootstrap : NettyClientBootstrap has started 2024-10-22 13:35:18.973 INFO 31020 --- [ main] o.a.s.d.registry.RegistryFactory : use registry center type: nacos 2024-10-22 13:35:18.984 INFO 31020 --- [ main] ServiceLoader$InnerEnhancedServiceLoader : Load compatible class io.seata.discovery.registry.RegistryProvider 2024-10-22 13:35:18.988 INFO 31020 --- [ main] o.a.s.d.r.n.NacosRegistryServiceImpl : Nacos check auth with userName/password. 2024-10-22 13:35:19.008 INFO 31020 --- [ main] o.a.s.d.r.n.NacosRegistryServiceImpl : Nacos check auth with userName/password. 2024-10-22 13:35:19.307 INFO 31020 --- [ main] o.a.s.c.r.n.NettyClientChannelManager : will connect to 192.168.0.229:8094 2024-10-22 13:35:19.310 ERROR 31020 --- [ncesChangeEvent] c.a.nacos.common.notify.NotifyCenter : Event callback exception:
java.lang.NullPointerException: null at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1690) at org.apache.seata.discovery.registry.RegistryService.removeOfflineAddressesIfNecessary(RegistryService.java:159) at org.apache.seata.discovery.registry.nacos.NacosRegistryServiceImpl.lambda$lookup$6(NacosRegistryServiceImpl.java:198) at com.alibaba.nacos.client.naming.selector.NamingListenerInvoker.invoke(NamingListenerInvoker.java:47) at com.alibaba.nacos.client.naming.selector.NamingListenerInvoker.invoke(NamingListenerInvoker.java:33) at com.alibaba.nacos.client.selector.AbstractSelectorWrapper.notifyListener(AbstractSelectorWrapper.java:78) at com.alibaba.nacos.client.naming.event.InstancesChangeNotifier.onEvent(InstancesChangeNotifier.java:108) at com.alibaba.nacos.client.naming.event.InstancesChangeNotifier.onEvent(InstancesChangeNotifier.java:38) at com.alibaba.nacos.common.notify.DefaultPublisher.lambda$notifySubscriber$0(DefaultPublisher.java:199) at com.alibaba.nacos.common.notify.DefaultPublisher.notifySubscriber(DefaultPublisher.java:206) at com.alibaba.nacos.common.notify.DefaultPublisher.receiveEvent(DefaultPublisher.java:190) at com.alibaba.nacos.common.notify.DefaultPublisher.openEventHandler(DefaultPublisher.java:112) at com.alibaba.nacos.common.notify.DefaultPublisher.run(DefaultPublisher.java:95)
2024-10-22 13:35:19.315 INFO 31020 --- [ main] o.a.s.c.rpc.netty.NettyPoolableFactory : NettyPool create channel to transactionRole:TMROLE,address:192.168.0.229:8094,msg:< RegisterTMRequest{version='2.3.0-SNAPSHOT', applicationId='card-universal-sass-system-server', transactionServiceGroup='card-universal-sass-system-server-group', extraData='ak=null digest=card-universal-sass-system-server-group,192.168.2.7,1729575319312 timestamp=1729575319312 authVersion=V4 vgroup=card-universal-sass-system-server-group ip=192.168.2.7 '} > 2024-10-22 13:35:19.654 INFO 31020 --- [ctor_TMROLE_1_1] ServiceLoader$InnerEnhancedServiceLoader : Load compatible class io.seata.core.serializer.Serializer 2024-10-22 13:35:19.696 INFO 31020 --- [ main] o.a.s.c.rpc.netty.TmNettyRemotingClient : register TM success. client version:2.3.0-SNAPSHOT, server version:2.2.0,channel:[id: 0xba965ffb, L:/192.168.2.7:58573 - R:/192.168.0.229:8094] 2024-10-22 13:35:19.704 INFO 31020 --- [ main] o.a.s.c.rpc.netty.NettyPoolableFactory : register success, cost 161 ms, version:2.2.0,role:TMROLE,channel:[id: 0xba965ffb, L:/192.168.2.7:58573 - R:/192.168.0.229:8094] 2024-10-22 13:35:19.706 INFO 31020 --- [ main] o.a.s.c.r.n.NettyClientChannelManager : will connect to 192.168.0.229:8096 2024-10-22 13:35:19.707 INFO 31020 --- [ main] o.a.s.c.rpc.netty.NettyPoolableFactory : NettyPool create channel to transactionRole:TMROLE,address:192.168.0.229:8096,msg:< RegisterTMRequest{version='2.3.0-SNAPSHOT', applicationId='card-universal-sass-system-server', transactionServiceGroup='card-universal-sass-system-server-group', extraData='ak=null digest=card-universal-sass-system-server-group,192.168.2.7,1729575319707 timestamp=1729575319707 authVersion=V4 vgroup=card-universal-sass-system-server-group ip=192.168.2.7 '} > 2024-10-22 13:35:19.722 INFO 31020 --- [ main] o.a.s.c.rpc.netty.TmNettyRemotingClient : register TM success. client version:2.3.0-SNAPSHOT, server version:2.2.0,channel:[id: 0xd49b833f, L:/192.168.2.7:58574 - R:/192.168.0.229:8096] 2024-10-22 13:35:19.722 INFO 31020 --- [ main] o.a.s.c.rpc.netty.NettyPoolableFactory : register success, cost 11 ms, version:2.2.0,role:TMROLE,channel:[id: 0xd49b833f, L:/192.168.2.7:58574 - R:/192.168.0.229:8096] 2024-10-22 13:35:19.722 INFO 31020 --- [ main] o.a.s.c.r.n.NettyClientChannelManager : will connect to 192.168.0.229:8095 2024-10-22 13:35:19.723 INFO 31020 --- [ main] o.a.s.c.rpc.netty.NettyPoolableFactory : NettyPool create channel to transactionRole:TMROLE,address:192.168.0.229:8095,msg:< RegisterTMRequest{version='2.3.0-SNAPSHOT', applicationId='card-universal-sass-system-server', transactionServiceGroup='card-universal-sass-system-server-group', extraData='ak=null digest=card-universal-sass-system-server-group,192.168.2.7,1729575319722 timestamp=1729575319722 authVersion=V4 vgroup=card-universal-sass-system-server-group ip=192.168.2.7 '} > 2024-10-22 13:35:19.736 INFO 31020 --- [ main] o.a.s.c.rpc.netty.TmNettyRemotingClient : register TM success. client version:2.3.0-SNAPSHOT, server version:2.2.0,channel:[id: 0xb5b0eaae, L:/192.168.2.7:58575 - R:/192.168.0.229:8095] 2024-10-22 13:35:19.737 INFO 31020 --- [ main] o.a.s.c.rpc.netty.NettyPoolableFactory : register success, cost 11 ms, version:2.2.0,role:TMROLE,channel:[id: 0xb5b0eaae, L:/192.168.2.7:58575 - R:/192.168.0.229:8095] 2024-10-22 13:35:19.738 INFO 31020 --- [ main] o.a.s.s.a.GlobalTransactionScanner : Transaction Manager Client is initialized. applicationId[card-universal-sass-system-server] txServiceGroup[card-universal-sass-system-server-group] 2024-10-22 13:35:19.792 INFO 31020 --- [ main] ServiceLoader$InnerEnhancedServiceLoader : Load compatible class io.seata.core.model.ResourceManager 2024-10-22 13:35:19.806 INFO 31020 --- [ main] o.a.seata.rm.datasource.AsyncWorker : Async Commit Buffer Limit: 10000 2024-10-22 13:35:19.807 INFO 31020 --- [ main] o.a.s.r.datasource.xa.ResourceManagerXA : ResourceManagerXA init ... 2024-10-22 13:35:19.819 INFO 31020 --- [ main] o.a.s.c.rpc.netty.NettyClientBootstrap : NettyClientBootstrap has started 2024-10-22 13:35:19.819 INFO 31020 --- [ main] o.a.s.s.a.GlobalTransactionScanner : Resource Manager is initialized. applicationId[card-universal-sass-system-server] txServiceGroup[card-universal-sass-system-server-group] 2024-10-22 13:35:19.819 INFO 31020 --- [ main] o.a.s.s.a.GlobalTransactionScanner : Global Transaction Clients are initialized.
After investigation, it was found that the transactionServiceGroup at line 84 of NacosRegistryServiceImpl is null, which should be corrected for line 195
removeOfflineAddressesIfNecessary(transactionServiceGroup, clusterName, newAddressList);
Change to:
if (StringUtils.isNotEmpty(transactionServiceGroup)) { removeOfflineAddressesIfNecessary(transactionServiceGroup, clusterName, newAddressList); }
@laywin
Ⅰ. Issue Description
Ⅱ. Describe what happened
If there is an exception, please attach the exception trace:
Ⅲ. Describe what you expected to happen
Ⅳ. How to reproduce it (as minimally and precisely as possible)
Minimal yet complete reproducer code (or URL to code):
Ⅴ. Anything else we need to know?
Ⅵ. Environment:
java -version
): 11.0.24uname -a
): Mac、Linux