I’m running Tez 0.6.0 with the default dependency of Hadoop 2.6 and am 
receiving a fair number of these

Exception in thread "org.apache.hadoop.util.JvmPauseMonitor$Monitor@74173125" 
java.lang.NoSuchMethodError: com.google.common.base.Stopwatch.elapsedMillis()J
        at 
org.apache.hadoop.util.JvmPauseMonitor$Monitor.run(JvmPauseMonitor.java:184)
        at java.lang.Thread.run(Thread.java:722)

of which result in a complete failure to run Tez

This is due to Tez/Yarn building against Guava 11.0.2, 

org.apache.tez:tez-api:0.6.0
|    +--- log4j:log4j:1.2.17
|    +--- com.google.guava:guava:11.0.2 -> 16.0.1

but Curator requiring 16.0.1 and forcing the up version

org.apache.curator:curator-framework:2.6.0
|    |    |    |    |    +--- org.apache.curator:curator-client:2.6.0
|    |    |    |    |    |    +--- org.slf4j:slf4j-api:1.7.6
|    |    |    |    |    |    +--- org.apache.zookeeper:zookeeper:3.4.6 (*)
|    |    |    |    |    |    \--- com.google.guava:guava:16.0.1

this makes me wonder how Tez 0.6.0 passes any tests (a side effect of maven?), 
let alone actually run on a cluster as curator is used by auth which is used by 
common

or is it a happy coincidence that auth doesn’t use any guava api’s not 
available in 11.0.2? thus it’s safe to force a downgrade (or put 11.0.2 first 
in the classpath).

ckw

—
Chris K Wensel
[email protected]




Reply via email to