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]

Reply via email to