[ 
https://issues.apache.org/jira/browse/FLINK-10538?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16655216#comment-16655216
 ] 

Razvan edited comment on FLINK-10538 at 10/18/18 1:55 PM:
----------------------------------------------------------

[~till.rohrmann] Yes, we use Aws S3 for state. But can't the dependencies be 
shaded?


was (Author: razvan):
@Till  Yes, we use Aws S3 for state. But can't the dependencies be shaded?

> standalone-job.sh causes Classpath issues
> -----------------------------------------
>
>                 Key: FLINK-10538
>                 URL: https://issues.apache.org/jira/browse/FLINK-10538
>             Project: Flink
>          Issue Type: Bug
>          Components: Docker, Job-Submission, Kubernetes
>    Affects Versions: 1.6.0, 1.6.1, 1.6.2, 1.7.0
>            Reporter: Razvan
>            Priority: Major
>             Fix For: 1.7.0
>
>
> When launching a job with the cluster through this script it creates 
> dependency issues.
>  
> We have a job which uses AsyncHttpClient, which uses the netty library. When 
> building/running a Docker image for a Flink job cluster on Kubernetes 
> (build.sh 
> [https://github.com/apache/flink/blob/release-1.6/flink-container/docker/build.sh])
>  will copy our given artifact to a file called "job.jar" in the lib/ folder 
> of the distribution inside the container.
> Upon runtime (standalone-job.sh) we get:
>  
> {code:java}
> 2018-10-11 13:44:10.057 [flink-akka.actor.default-dispatcher-15] INFO  
> org.apache.flink.runtime.executiongraph.ExecutionGraph  - 
> StateProcessFunction -> ToCustomerRatingFlatMap -> async wait operator -> 
> Sink: CollectResultsSink (1/1) (f7fac66a85d41d4eac44ff609c515710) switched 
> from RUNNING to FAILED.
> java.lang.NoSuchMethodError: 
> io.netty.handler.ssl.SslContext.newClientContextInternal(Lio/netty/handler/ssl/SslProvider;Ljava/security/Provider;[Ljava/security/cert/X509Certificate;Ljavax/net/ssl/TrustManagerFactory;[Ljava/security/cert/X509Certificate;Ljava/security/PrivateKey;Ljava/lang/String;Ljavax/net/ssl/KeyManagerFactory;Ljava/lang/Iterable;Lio/netty/handler/ssl/CipherSuiteFilter;Lio/netty/handler/ssl/ApplicationProtocolConfig;[Ljava/lang/String;JJZ)Lio/netty/handler/ssl/SslContext;
>     at 
> io.netty.handler.ssl.SslContextBuilder.build(SslContextBuilder.java:452)
>     at 
> org.asynchttpclient.netty.ssl.DefaultSslEngineFactory.buildSslContext(DefaultSslEngineFactory.java:58)
>     at 
> org.asynchttpclient.netty.ssl.DefaultSslEngineFactory.init(DefaultSslEngineFactory.java:73)
>     at 
> org.asynchttpclient.netty.channel.ChannelManager.<init>(ChannelManager.java:100)
>     at 
> org.asynchttpclient.DefaultAsyncHttpClient.<init>(DefaultAsyncHttpClient.java:89)
>     at org.asynchttpclient.Dsl.asyncHttpClient(Dsl.java:32)
>     at 
> com.test.events.common.asynchttp.AsyncHttpClientProvider.configureAsyncHttpClient(AsyncHttpClientProvider.java:128)
>     at 
> com.test.events.common.asynchttp.AsyncHttpClientProvider.<init>(AsyncHttpClientProvider.java:51)
> {code}
>   
> It's because it loads Apache Flink's Netty dependency first
>  
> {code:java}
> [Loaded io.netty.handler.codec.http.HttpObject from 
> file:/opt/flink-1.6.1/lib/flink-shaded-hadoop2-uber-1.6.1.jar]
> [Loaded io.netty.handler.codec.http.HttpMessage from 
> file:/opt/flink-1.6.1/lib/flink-shaded-hadoop2-uber-1.6.1.jar]
> {code}
>  
> {code:java}
> 2018-10-12 11:48:20.434 [main] INFO 
> org.apache.flink.runtime.taskexecutor.TaskManagerRunner - Classpath: 
> /opt/flink-1.6.1/lib/flink-python_2.11-1.6.1.jar:/opt/flink-1.6.1/lib/flink-shaded-hadoop2-uber-1.6.1.jar:/opt/flink-1.6.1/lib/job.jar:/opt/flink-1.6.1/lib/log4j-1.2.17.jar:/opt/flink-1.6.1/lib/logback-access.jar:/opt/flink-1.6.1/lib/logback-classic.jar:/opt/flink-1.6.1/lib/logback-core.jar:/opt/flink-1.6.1/lib/netty-buffer-4.1.30.Final.jar:/opt/flink-1.6.1/lib/netty-codec-4.1.30.Final.jar:/opt/flink-1.6.1/lib/netty-codec-socks-4.1.30.Final.jar:/opt/flink-1.6.1/lib/netty-common-4.1.30.Final.jar:/opt/flink-1.6.1/lib/netty-handler-4.1.30.Final.jar:/opt/flink-1.6.1/lib/netty-handler-proxy-4.1.30.Final.jar:/opt/flink-1.6.1/lib/netty-resolver-dns-4.1.30.Final.jar:/opt/flink-1.6.1/lib/netty-transport-4.1.30.Final.jar:/opt/flink-1.6.1/lib/netty-transport-native-epoll-4.1.30.Final.jar:/opt/flink-1.6.1/lib/netty-transport-native-unix-common-4.1.30.Final.jar:/opt/flink-1.6.1/lib/slf4j-log4j12-1.7.7.jar:/opt/flink-1.6.1/lib/flink-dist_2.11-1.6.1.jar:::
> {code}
>  
> The workaround is to rename job.jar to 1JOB.jar for example to be loaded first
>  
> {code:java}
> 2018-10-12 13:51:09.165 [main] INFO 
> org.apache.flink.runtime.taskexecutor.TaskManagerRunner - Classpath: 
> /Users/users/projects/flink/flink-1.6.1/lib/1JOB.jar:/Users/users/projects/flink/flink-1.6.1/lib/flink-python_2.11-1.6.1.jar:/Users/users/projects/flink/flink-1.6.1/lib/flink-shaded-hadoop2-uber-1.6.1.jar:/Users/users/projects/flink/flink-1.6.1/lib/log4j-1.2.17.jar:/Users/users/projects/flink/flink-1.6.1/lib/logback-access.jar:/Users/users/projects/flink/flink-1.6.1/lib/logback-classic.jar:/Users/users/projects/flink/flink-1.6.1/lib/logback-core.jar:/Users/users/projects/flink/flink-1.6.1/lib/slf4j-log4j12-1.7.7.jar:/Users/users/projects/flink/flink-1.6.1/lib/flink-dist_2.11-1.6.1.jar:::
>  
> {code}
>  
>  
> {code:java}
> [Loaded io.netty.handler.codec.http.HttpObject from 
> file:/Users/users/projects/flink/flink-1.6.1/lib/1JOB.jar]
> [Loaded io.netty.handler.codec.http.HttpMessage from 
> file:/Users/users/projects/flink/flink-1.6.1/lib/1JOB.jar] 
> {code}
>  
> This needs to be fixed properly as it also means after workaround it will 
> load the job's libraries first and could cause the Flink to crash or behave 
> in unexpected ways.
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to