[ 
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)

Reply via email to