apache / apache/incubator-seata
etcd3 grpc version mismatch
- Dominant language
- Java
- Stars
- 26k
- Forks
- 8.8k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 4
Description
- [X] I have searched the [issues](https://github.com/seata/seata/issues) of this repository and believe that this is not a duplicate.
### Ⅰ. Issue Description
### Ⅱ. Describe what happened
If there is an exception, please attach the exception trace:
```
java.lang.NoClassDefFoundError: io/grpc/internal/BaseDnsNameResolverProvider
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:473)
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:370)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at io.grpc.ServiceProviders.loadAll(ServiceProviders.java:67)
at io.grpc.NameResolverRegistry.getDefaultRegistry(NameResolverRegistry.java:126)
at io.grpc.internal.ManagedChannelImplBuilder.(ManagedChannelImplBuilder.java:152)
at io.grpc.internal.ManagedChannelImplBuilder.(ManagedChannelImplBuilder.java:272)
at io.grpc.netty.NettyChannelBuilder.(NettyChannelBuilder.java:199)
at io.grpc.netty.NettyChannelBuilder.forTarget(NettyChannelBuilder.java:169)
at io.etcd.jetcd.ClientConnectionManager.defaultChannelBuilder(ClientConnectionManager.java:178)
at io.etcd.jetcd.ClientConnectionManager.getChannel(ClientConnectionManager.java:98)
at io.etcd.jetcd.ClientImpl.(ClientImpl.java:54)
at io.etcd.jetcd.ClientBuilder.build(ClientBuilder.java:387)
at org.apache.seata.config.etcd3.EtcdConfiguration.getClient(EtcdConfiguration.java:241)
at org.apache.seata.config.etcd3.EtcdConfiguration.initSeataConfig(EtcdConfiguration.java:286)
at org.apache.seata.config.etcd3.EtcdConfiguration.(EtcdConfiguration.java:97)
at org.apache.seata.config.etcd3.EtcdConfiguration.getInstance(EtcdConfiguration.java:109)
at org.apache.seata.config.etcd3.EtcdConfigurationProvider.provide(EtcdConfigurationProvider.java:28)
at org.apache.seata.config.ConfigurationFactory.getNonSpringConfiguration(ConfigurationFactory.java:218)
at org.apache.seata.config.ConfigurationFactory.buildConfiguration(ConfigurationFactory.java:161)
at org.apache.seata.config.ConfigurationFactory.getInstance(ConfigurationFactory.java:121)
at org.apache.seata.server.store.StoreConfig.(StoreConfig.java:33)
at org.apache.seata.server.spring.listener.SeataPropertiesLoader.initialize(SeataPropertiesLoader.java:77)
at org.springframework.boot.SpringApplication.applyInitializers(SpringApplication.java:605)
at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:374)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1300)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1289)
at org.apache.seata.server.ServerApplication.main(ServerApplication.java:30)
Caused by: java.lang.ClassNotFoundException: io.grpc.internal.BaseDnsNameResolverProvider
at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 43 common frames omitted
```
### Ⅲ. Describe what you expected to happen
### Ⅳ. How to reproduce it (as minimally and precisely as possible)
1. Use etcd3 for config/registry settings
Minimal yet complete reproducer code (or URL to code):
### Ⅴ. Anything else we need to know?
You are using jetcd 0.5.0 version, but this version uses grpc 1.27.1 version. This is very different from grpc 1.66.0 used by seata.
I think this version difference is causing the above error.
### Ⅵ. Environment:
- JDK version(e.g. `java -version`): 1.8
- Seata client/server version: 2.2.0
- Database version:
- OS(e.g. `uname -a`):
- Others:
Contributor guide
Assessment
This issue has not been assessed yet.