[
https://issues.apache.org/jira/browse/TEZ-4074?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17301384#comment-17301384
]
suryansh agnihotri edited comment on TEZ-4074 at 3/15/21, 5:12 AM:
-------------------------------------------------------------------
[~abstractdog] I faced an similar issue while running test of 0.10.0 with
hadoop 3.1.2.
{code:java}
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 2.016 s
<<< FAILURE! - in org.apache.tez.common.TestTezCommonUtils[ERROR] Tests run: 1,
Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 2.016 s <<< FAILURE! - in
org.apache.tez.common.TestTezCommonUtils[ERROR]
org.apache.tez.common.TestTezCommonUtils Time elapsed: 2.013 s <<<
ERROR!java.lang.NoSuchMethodError:
com.google.common.util.concurrent.Futures.addCallback(Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/util/concurrent/FutureCallback;)V
at org.apache.tez.common.TestTezCommonUtils.setup(TestTezCommonUtils.java:65)
{code}
I verified that tez 0.10 uses guava "27.0-jre" and hadoop 3.1.2 also uses the
same version and that particular method is removed from guava
[guava27|https://guava.dev/releases/27.0-jre/api/docs/com/google/common/util/concurrent/Futures.html#addCallback-com.google.common.util.concurrent.ListenableFuture-com.google.common.util.concurrent.FutureCallback-java.util.concurrent.Executor]
{code}
suryansh:tez-api/ (oci-build--0.10.0✗) $ mvn dependency:tree
-Dhadoop.version=3.1.2 [10:39:05]
[WARNING]
[WARNING] Some problems were encountered while building the effective settings
[WARNING] expected START_TAG or END_TAG not TEXT (position: TEXT seen
...</profiles>\n\u200b\n <a... @149:5) @ /Users/suryansh/.m2/settings.xml, line
149, column 5
[WARNING] 'profiles.profile[snapshot].repositories.repository.id' must be
unique but found duplicate repository with id central @
/Users/suryansh/.m2/settings.xml
[WARNING]
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------------< org.apache.tez:tez-api >-----------------------
[INFO] Building tez-api 0.10.0
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ tez-api ---
[INFO] org.apache.tez:tez-api:jar:0.10.0
[INFO] +- org.slf4j:slf4j-api:jar:1.7.10:compile
[INFO] +- commons-io:commons-io:jar:2.4:compile
[INFO] +- commons-lang:commons-lang:jar:2.6:compile
[INFO] +- org.codehaus.jettison:jettison:jar:1.3.4:compile
[INFO] | \- stax:stax-api:jar:1.0.1:compile
[INFO] +- org.apache.hadoop:hadoop-common:jar:3.1.2:compile
[INFO] | +- com.google.guava:guava:jar:27.0-jre:compile
[INFO] | | +- com.google.guava:failureaccess:jar:1.0:compile
[INFO] | | +-
com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:compile
[INFO] | | +- org.checkerframework:checker-qual:jar:2.5.2:compile
{code}
I see the same issue in master too.
was (Author: sagnihotri):
[~abstractdog] I faced an similar issue while running test of 0.10.0 with
hadoop 3.1.2.
{code:java}
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 2.016 s
<<< FAILURE! - in org.apache.tez.common.TestTezCommonUtils[ERROR] Tests run: 1,
Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 2.016 s <<< FAILURE! - in
org.apache.tez.common.TestTezCommonUtils[ERROR]
org.apache.tez.common.TestTezCommonUtils Time elapsed: 2.013 s <<<
ERROR!java.lang.NoSuchMethodError:
com.google.common.util.concurrent.Futures.addCallback(Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/util/concurrent/FutureCallback;)V
at org.apache.tez.common.TestTezCommonUtils.setup(TestTezCommonUtils.java:65)
{code}
I verified that tez 0.10 uses guava "27.0-jre" and hadoop 3.1.2 also uses the
same version and that particular method is removed from guava
[guava27|https://guava.dev/releases/27.0-jre/api/docs/com/google/common/util/concurrent/Futures.html#addCallback-com.google.common.util.concurrent.ListenableFuture-com.google.common.util.concurrent.FutureCallback-java.util.concurrent.Executor]
I see the same issue in master too.
> Tez does not run with Hadoop Trunk (3.3.0-snapshot)
> ---------------------------------------------------
>
> Key: TEZ-4074
> URL: https://issues.apache.org/jira/browse/TEZ-4074
> Project: Apache Tez
> Issue Type: Bug
> Reporter: Ahmed Hussein
> Priority: Major
>
> Tez throws a runtime exception when compiled against Hadoop-3.3.0.
> With Tez running Guava (11.0.2) and Hadoop eunning Guava 27.0-jre (see
> HADOOP-16210), there is an incompatibility of Guava library.
> {code:java}
> [ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.136
> s <<< FAILURE! - in org.apache.tez.dag.app.TestSpeculation
> [ERROR] org.apache.tez.dag.app.TestSpeculation Time elapsed: 0.136 s <<<
> ERROR!
> java.lang.NoSuchMethodError:
> com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V
> at
> org.apache.tez.dag.app.TestSpeculation.setupSpeculation(TestSpeculation.java:86)
> {code}
> It looks like guava added single parameter optimizations which breaks
> compatibility with {{VAR_ARGS}}. So, even though it shows source
> compatibility it is throwing a runtime error due to binary incompatibility.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)