flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stephan Ewen (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (FLINK-3373) Using a newer library of Apache HttpClient than 4.2.6 will get class loading problems
Date Wed, 10 Feb 2016 14:51:18 GMT

     [ https://issues.apache.org/jira/browse/FLINK-3373?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Stephan Ewen resolved FLINK-3373.
---------------------------------
       Resolution: Fixed
         Assignee: Stephan Ewen
    Fix Version/s: 1.0.0

The HTTP components dependency from Hadoop is now shaded away.

Fixed via 8ccd7544edb25e82cc8a898809cc7c8bb7893620

> Using a newer library of Apache HttpClient than 4.2.6 will get class loading problems
> -------------------------------------------------------------------------------------
>
>                 Key: FLINK-3373
>                 URL: https://issues.apache.org/jira/browse/FLINK-3373
>             Project: Flink
>          Issue Type: Bug
>         Environment: Latest Flink snapshot 1.0
>            Reporter: Jakob Sultan Ericsson
>            Assignee: Stephan Ewen
>             Fix For: 1.0.0
>
>
> When I trying to use Apache HTTP client 4.5.1 in my flink job it will crash with NoClassDefFound.
> This has to do that it load some classes from provided httpclient 4.2.5/6 in core flink.
> {noformat}
> 17:05:56,193 INFO  org.apache.flink.runtime.taskmanager.Task                     - DuplicateFilter
-> InstallKeyLookup (11/16) switched to FAILED with exception.
> java.lang.NoSuchFieldError: INSTANCE
>         at org.apache.http.conn.ssl.SSLConnectionSocketFactory.<clinit>(SSLConnectionSocketFactory.java:144)
>         at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.getDefaultRegistry(PoolingHttpClientConnectionManager.java:109)
>         at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:116)
>         ...<internal classes>
>         at org.apache.flink.api.common.functions.util.FunctionUtils.openFunction(FunctionUtils.java:36)
>         at org.apache.flink.streaming.api.operators.AbstractUdfStreamOperator.open(AbstractUdfStreamOperator.java:89)
>         at org.apache.flink.streaming.runtime.tasks.StreamTask.openAllOperators(StreamTask.java:305)
>         at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:227)
>         at org.apache.flink.runtime.taskmanager.Task.run(Task.java:566)
>         at java.lang.Thread.run(Thread.java:745)
> {noformat}
> SSLConnectionSocketFactory and finds an earlier version of the AllowAllHostnameVerifier
that does have the INSTANCE variable (instance variable was probably added in 4.3).
> {noformat}
> jar tvf lib/flink-dist-1.0-SNAPSHOT.jar |grep AllowAllHostnameVerifier  
>    791 Thu Dec 17 09:55:46 CET 2015 org/apache/http/conn/ssl/AllowAllHostnameVerifier.class
> {noformat}
> Solutions would be:
> - Fix the classloader so that my custom job does not conflict with internal flink-core
classes... pretty hard
> - Remove the dependency somehow.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message