Bing-ok opened a new issue, #15168: URL: https://github.com/apache/dolphinscheduler/issues/15168
### Search before asking - [X] I had searched in the [issues](https://github.com/apache/dolphinscheduler/issues?q=is%3Aissue) and found no similar feature requirement. ### Description ## Issue description Hi, there are multiple versions of io.netty:netty-all in dolphinscheduler-api:1.3.6. As shown in the following dependency tree, according to Maven'FastCallGraphUtil "nearest wins" strategy, only io.netty:netty-all:4.1.53.Final can be loaded, io.netty:netty-all:4.0.23.Final will be shadowed. However, several methods defined in shadowed version io.netty:netty-all:4.0.23.Final are referenced by client project via org.apache.dolphinscheduler:dolphinscheduler-service:1.3.6 but missing in the actually loaded version io.netty:netty-all:4.1.53.Final. For instance, the following missing method(defined in io.netty:netty-all:4.0.23.Final) are actually referenced by dolphinscheduler-api, which will introduce a runtime error(i.e., "NoSuchMethodError") into dolphinscheduler-api. 1. **_<io.netty.channel.epoll.EpollServerSocketChannel: boolean isActive()>_** via the following path: ``` paths------ <org.apache.dolphinscheduler.api.service.LoggerService: org.apache.dolphinscheduler.api.utils.Result queryLog(int,int,int)> org.apache.dolphinscheduler:dolphinscheduler-api:1.3.6; <org.apache.dolphinscheduler.service.log.LogClientService: java.lang.String rollViewLog(java.lang.String,int,java.lang.String,int,int)> org.apache.dolphinscheduler:dolphinscheduler-service:1.3.6; <org.apache.dolphinscheduler.remote.NettyRemotingClient: org.apache.dolphinscheduler.remote.command.Command sendSync(org.apache.dolphinscheduler.remote.utils.Host,org.apache.dolphinscheduler.remote.command.Command,long)> org.apache.dolphinscheduler:dolphinscheduler-remote:1.3.6; <org.apache.dolphinscheduler.remote.NettyRemotingClient: io.netty.channel.Channel getChannel(org.apache.dolphinscheduler.remote.utils.Host)> org.apache.dolphinscheduler:dolphinscheduler-remote:1.3.6; <io.netty.channel.epoll.EpollServerSocketChannel: boolean isActive()> ``` 2. **_<io.netty.channel.epoll.EpollSocketChannel: boolean isActive()>_** is invoked by **_bistoury-ui:v2.0.7_** via the following path: ``` paths------ <org.apache.dolphinscheduler.api.service.LoggerService: org.apache.dolphinscheduler.api.utils.Result queryLog(int,int,int)> org.apache.dolphinscheduler:dolphinscheduler-api:1.3.6; <org.apache.dolphinscheduler.service.log.LogClientService: java.lang.String rollViewLog(java.lang.String,int,java.lang.String,int,int)> org.apache.dolphinscheduler:dolphinscheduler-service:1.3.6; <org.apache.dolphinscheduler.remote.NettyRemotingClient: org.apache.dolphinscheduler.remote.command.Command sendSync(org.apache.dolphinscheduler.remote.utils.Host,org.apache.dolphinscheduler.remote.command.Command,long)> org.apache.dolphinscheduler:dolphinscheduler-remote:1.3.6; <org.apache.dolphinscheduler.remote.NettyRemotingClient: io.netty.channel.Channel getChannel(org.apache.dolphinscheduler.remote.utils.Host)> org.apache.dolphinscheduler:dolphinscheduler-remote:1.3.6; <io.netty.channel.epoll.EpollSocketChannel: boolean isActive()> ``` # Suggested fixing solutions: 1. Solution: Upgrade direct dependency io.netty:netty-all from 4.1.53.Final to 4.0.23.Final. Because version 4.0.23.Final includes the above missing methods and is compatible with other versions of io.netty:netty-all in the project. 2. Use configuration <dependencyManagement> to unify the version of library io.netty:netty-all to be 4.0.23.Final in the pom file. Please let me know which solution you prefer? I can submit a PR to fix it. Thank you very much for your attention. Best regards, ## Dependency tree -- <pre><code> [INFO] +- io.springfox:springfox-swagger-ui:jar:2.9.2:compile [INFO] | \- (io.springfox:springfox-spring-web:jar:2.9.2:compile - omitted for duplicate) [INFO] +- org.apache.dolphinscheduler:dolphinscheduler-service:jar:1.3.6:compile [INFO] | +- org.apache.dolphinscheduler:dolphinscheduler-remote:jar:1.3.6:compile [INFO] | | +- (org.apache.dolphinscheduler:dolphinscheduler-common:jar:1.3.6:compile - omitted for duplicate) [INFO] | | +- <b>(io.netty:netty-all:jar:4.1.53.Final:compile - version managed from 4.0.23.Final; omitted for duplicate)</b> [INFO] | | +- (org.slf4j:slf4j-api:jar:1.7.5:compile - version managed from 1.7.10; omitted for duplicate) [INFO] | | \- (com.alibaba:fastjson:jar:1.2.61:compile - omitted for duplicate) [INFO] | +- (org.apache.dolphinscheduler:dolphinscheduler-dao:jar:1.3.6:compile - omitted for duplicate) [INFO] | +- org.apache.curator:curator-client:jar:4.3.0:compile [INFO] | | +- (org.apache.zookeeper:zookeeper:jar:3.4.14:compile - version managed from 3.4.6; omitted for duplicate) </code></pre> ### Are you willing to submit a PR? - [ ] Yes I am willing to submit a PR! ### Code of Conduct - [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
