apache / apache/dubbo-spi-extensions
Maybe bug: jetcd-core:jar:0.5.7 NoSuchMethodError io.grpc.netty.NettyChannelBuilder.maxInboundMessageSize
- Dominant language
- Java
- Stars
- 206
- Forks
- 121
- PR merge metrics
- No merged PRs in 30d
Description
I upgrade dubbo-remoting-etcd3 from 2.7.11 to 2.7.15, then application start fail with follow exception:
```
Caused by: java.lang.NoSuchMethodError: io.grpc.netty.NettyChannelBuilder.maxInboundMessageSize(I)Lio/grpc/netty/NettyChannelBuilder;
at io.etcd.jetcd.ClientConnectionManager.defaultChannelBuilder(ClientConnectionManager.java:236) ~[jetcd-core-0.5.7.jar:?]
at io.etcd.jetcd.ClientConnectionManager.defaultChannelBuilder(ClientConnectionManager.java:202) ~[jetcd-core-0.5.7.jar:?]
at io.etcd.jetcd.ClientConnectionManager.getChannel(ClientConnectionManager.java:122) ~[jetcd-core-0.5.7.jar:?]
at io.etcd.jetcd.ClientConnectionManager.newStub(ClientConnectionManager.java:171) ~[jetcd-core-0.5.7.jar:?]
at io.etcd.jetcd.KVImpl.(KVImpl.java:54) ~[jetcd-core-0.5.7.jar:?]
at io.etcd.jetcd.ClientImpl.lambda$new$0(ClientImpl.java:38) ~[jetcd-core-0.5.7.jar:?]
at io.etcd.jetcd.support.MemoizingClientSupplier.get(MemoizingClientSupplier.java:37) ~[jetcd-core-0.5.7.jar:?]
at io.etcd.jetcd.ClientImpl.getKVClient(ClientImpl.java:55) ~[jetcd-core-0.5.7.jar:?]
at org.apache.dubbo.remoting.etcd.jetcd.JEtcdClientWrapper.lambda$checkExists$7(JEtcdClientWrapper.java:270) ~[dubbo-remoting-etcd3-2.7.15.jar:2.7.15]
at org.apache.dubbo.remoting.etcd.jetcd.RetryLoops.invokeWithRetry(RetryLoops.java:56) ~[dubbo-remoting-etcd3-2.7.15.jar:2.7.15]
at org.apache.dubbo.remoting.etcd.jetcd.JEtcdClientWrapper.checkExists(JEtcdClientWrapper.java:267) ~[dubbo-remoting-etcd3-2.7.15.jar:2.7.15]
at org.apache.dubbo.remoting.etcd.jetcd.JEtcdClient.checkExists(JEtcdClient.java:126) ~[dubbo-remoting-etcd3-2.7.15.jar:2.7.15]
at org.apache.dubbo.remoting.etcd.support.AbstractEtcdClient.createParentIfAbsent(AbstractEtcdClient.java:157) ~[dubbo-remoting-etcd3-2.7.15.jar:2.7.15]
at org.apache.dubbo.remoting.etcd.support.AbstractEtcdClient.createEphemeral(AbstractEtcdClient.java:89) ~[dubbo-remoting-etcd3-2.7.15.jar:2.7.15]
at org.apache.dubbo.registry.etcd.EtcdRegistry.doRegister(EtcdRegistry.java:112) ~[dubbo-2.7.15.jar:2.7.15]
```
After checking the exception stack I compare the version different between dubbo-remoting-etcd3/2.7.11 and dubbo-remoting-etcd3/2.7.15:
```
org.apache.dubbo:dubbo-remoting-etcd3:jar:2.7.15:compile
+- io.etcd:jetcd-core:jar:0.5.7:compile
+- io.grpc:grpc-core:jar:1.31.1:compile
```
```
org.apache.dubbo:dubbo-remoting-etcd3:jar:2.7.11:compile
+- io.etcd:jetcd-core:jar:0.5.3:compile
+- io.grpc:grpc-core:jar:1.31.1:compile
```
My solution (all test pass):
1. Specify separately the jetcd-core:jar into 0.5.3:
```
org.apache.dubbo
dubbo-remoting-etcd3
2.7.15
dubbo-common
org.apache.dubbo
dubbo-remoting-api
org.apache.dubbo
io.etcd
jetcd-core
io.etcd
jetcd-core
0.5.3
```
2. Use dubbo-remoting-etcd3 2.7.14 whose jetcd-core is still 0.5.3, instead of dubbo-remoting-etcd3 2.7.15.
3.
Thanks for help!
Contributor guide
Assessment
This issue has not been assessed yet.