Can you provide us with the classpath (found at the top of the log file)
for your 1.9.2/1.11.2 setups?
(to see whether maybe something has changed in regards to classpath
ordering)
It would also be good to know what things were copied from opt/ to lib/
or plugins/.
(to see whether some packaging change might affect you)
Is the Stacktrace from your attempt where you set rs-api to compileOnly,
or from a previous attempt? (I assume you use gradle?)
Was the error the same in both cases?
@Leonared I noticed you handled a similar case on the Chinese ML in July
<http://apache-flink.147419.n8.nabble.com/flink1-11-td5154.html>, do you
have any insights?
On 10/15/2020 7:51 PM, Hailu, Andreas wrote:
Hi Chesnay, no, we haven’t changed our Hadoop version. The only
changes were the update the 1.11.2 runtime dependencies listed
earlier, as well as compiling with the flink-clients in some of our
modules since we were relying on the transitive dependency. Our 1.9.2
jobs are still able to run just fine, which is interesting.
*// *ah**
*From:*Chesnay Schepler <ches...@apache.org>
*Sent:* Thursday, October 15, 2020 7:34 AM
*To:* Hailu, Andreas [Engineering] <andreas.ha...@ny.email.gs.com>;
user@flink.apache.org
*Subject:* Re: Runtime Dependency Issues Upgrading to Flink 1.11.2
from 1.9.2
I'm not aware of any Flink module bundling this class. Note that this
class is also bundled in jersey-core (which is also on your
classpath), so it appears that there is a conflict between this jar
and your shaded one.
Have you changed the Hadoop version you are using or how you provide
them to Flink?
On 10/14/2020 6:56 PM, Hailu, Andreas wrote:
Hi team! We’re trying to upgrade our applications from 1.9.2 to
1.11.2. After re-compiling and updating our runtime dependencies
to use 1.11.2, we see this LinkageError:
Caused by: java.lang.LinkageError: ClassCastException: attempting
to
castjar:file:/local/data/scratch/hailua_p2epdlsuat/flink-ingest-refiner-sandbox-SNAPSHOT-fat-shaded.jar!/javax/ws/rs/ext/RuntimeDelegate.class
<file://local/data/scratch/hailua_p2epdlsuat/flink-ingest-refiner-sandbox-SNAPSHOT-fat-shaded.jar!/javax/ws/rs/ext/RuntimeDelegate.class>
to
jar:file:/local/data/scratch/hailua_p2epdlsuat/flink-ingest-refiner-sandbox-SNAPSHOT-fat-shaded.jar!/javax/ws/rs/ext/RuntimeDelegate.class
at
javax.ws.rs.ext.RuntimeDelegate.findDelegate(RuntimeDelegate.java:146)
~[flink-ingest-refiner-sandbox-SNAPSHOT-fat-shaded.jar:?]
at
javax.ws.rs.ext.RuntimeDelegate.getInstance(RuntimeDelegate.java:120)
~[flink-ingest-refiner-sandbox-SNAPSHOT-fat-shaded.jar:?]
at javax.ws.rs.core.MediaType.valueOf(MediaType.java:179)
~[flink-ingest-refiner-sandbox-SNAPSHOT-fat-shaded.jar:?]
at
com.sun.jersey.core.header.MediaTypes.<clinit>(MediaTypes.java:64)
~[jersey-core-1.9.jar:1.9]
at
com.sun.jersey.core.spi.factory.MessageBodyFactory.initReaders(MessageBodyFactory.java:182)
~[jersey-core-1.9.jar:1.9]
at
com.sun.jersey.core.spi.factory.MessageBodyFactory.initReaders(MessageBodyFactory.java:175)
~[jersey-core-1.9.jar:1.9]
at
com.sun.jersey.core.spi.factory.MessageBodyFactory.init(MessageBodyFactory.java:162)
~[jersey-core-1.9.jar:1.9]
at com.sun.jersey.api.client.Client.init(Client.java:342)
~[flink-ingest-refiner-sandbox-SNAPSHOT-fat-shaded.jar:?]
at
com.sun.jersey.api.client.Client.access$000(Client.java:118)
~[flink-ingest-refiner-sandbox-SNAPSHOT-fat-shaded.jar:?]
at com.sun.jersey.api.client.Client$1.f(Client.java:191)
~[flink-ingest-refiner-sandbox-SNAPSHOT-fat-shaded.jar:?]
at com.sun.jersey.api.client.Client$1.f(Client.java:187)
~[flink-ingest-refiner-sandbox-SNAPSHOT-fat-shaded.jar:?]
at
com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)
~[jersey-core-1.9.jar:1.9]
at
com.sun.jersey.api.client.Client.<init>(Client.java:187)
~[flink-ingest-refiner-sandbox-SNAPSHOT-fat-shaded.jar:?]
at
com.sun.jersey.api.client.Client.<init>(Client.java:170)
~[flink-ingest-refiner-sandbox-SNAPSHOT-fat-shaded.jar:?]
at
org.apache.hadoop.yarn.client.api.impl.TimelineClientImpl.serviceInit(TimelineClientImpl.java:285)
~[hadoop-yarn-common-2.7.3.2.6.3.0-235.jar:?]
at
org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)
~[hadoop-common-2.7.3.2.6.3.0-235.jar:?]
at
org.apache.hadoop.yarn.client.api.impl.YarnClientImpl.getTimelineDelegationToken(YarnClientImpl.java:355)
~[hadoop-yarn-client-2.7.3.2.6.3.0-235.jar:?]
at
org.apache.hadoop.yarn.client.api.impl.YarnClientImpl.addTimelineDelegationToken(YarnClientImpl.java:331)
~[hadoop-yarn-client-2.7.3.2.6.3.0-235.jar:?]
at
org.apache.hadoop.yarn.client.api.impl.YarnClientImpl.submitApplication(YarnClientImpl.java:250)
~[hadoop-yarn-client-2.7.3.2.6.3.0-235.jar:?]
at
org.apache.flink.yarn.YarnClusterDescriptor.startAppMaster(YarnClusterDescriptor.java:1002)
~[flink-dist_2.11-1.11.2.jar:1.11.2]
at
org.apache.flink.yarn.YarnClusterDescriptor.deployInternal(YarnClusterDescriptor.java:524)
~[flink-dist_2.11-1.11.2.jar:1.11.2]
at
org.apache.flink.yarn.YarnClusterDescriptor.deployJobCluster(YarnClusterDescriptor.java:424)
~[flink-dist_2.11-1.11.2.jar:1.11.2]
at
org.apache.flink.client.deployment.executors.AbstractJobClusterExecutor.execute(AbstractJobClusterExecutor.java:70)
~[flink-dist_2.11-1.11.2.jar:1.11.2]
at
org.apache.flink.api.java.ExecutionEnvironment.executeAsync(ExecutionEnvironment.java:973)
~[flink-dist_2.11-1.11.2.jar:1.11.2]
at
org.apache.flink.client.program.ContextEnvironment.executeAsync(ContextEnvironment.java:124)
~[flink-dist_2.11-1.11.2.jar:1.11.2]
at
org.apache.flink.client.program.ContextEnvironment.execute(ContextEnvironment.java:72)
~[flink-dist_2.11-1.11.2.jar:1.11.2]
I’ll note that the flink-ingest-refiner jar is our shaded JAR
application that we use to submit jobs.
Looking into what dependencies have changed, on 1.9.2 our runtime
dependencies from the available artifacts (sourced from one of the
many mirrors) are:
1.flink-dist_2.11-1.9.2.jar
2.flink-table-blink_2.11-1.9.2.jar
3.flink-table_2.11-1.9.2.jar
4.log4j-1.2.17.jar
5.slf4j-log4j12-1.7.15.jar
Whereas 1.11.2’s dependencies are:
1.flink-dist_2.11-1.11.2.jar
2.flink-table-blink_2.11-1.11.2.jar
3.flink-table_2.11-1.11.2.jar
4.log4j-1.2-api-2.12.1.jar
5.log4j-api-2.12.1.jar
6.log4j-core-2.12.1.jar
7.log4j-slf4j-impl-2.12.1.jar
RuntimeDelegate comes from the javax.ws.rs:javax.ws.rs-api module,
which we use internally for some of our REST implementations. I’ve
been trying a few things here to no avail such as declaring our
dependency on rs-api as compileOnly. Curious to hear your
thoughts. Was there a version change in one of the above listed
1.11.2 modules?
____________
**
*Andreas Hailu*
*Data Lake Engineering *|**Goldman Sachs & Co.
------------------------------------------------------------------------
Your Personal Data: We may collect and process information about
you that may be subject to data protection laws. For more
information about how we use and disclose your personal data, how
we protect your information, our legal basis to use your
information, your rights and who you can contact, please refer to:
www.gs.com/privacy-notices <http://www.gs.com/privacy-notices>
------------------------------------------------------------------------
Your Personal Data: We may collect and process information about you
that may be subject to data protection laws. For more information
about how we use and disclose your personal data, how we protect your
information, our legal basis to use your information, your rights and
who you can contact, please refer to: www.gs.com/privacy-notices
<http://www.gs.com/privacy-notices>