Details
-
Type:
Bug
-
Status: Open
-
Priority:
Critical
-
Resolution: Unresolved
-
Affects Version/s: CDH4.6.0, CDH 5.2.1
-
Fix Version/s: None
-
Component/s: Pig
-
Labels:None
Description
CDH distribution has enhanced getSignature() method of that class (not contributed back to the mainstream), but it uses Hasher.putString method which was deprecated and removed in Guava 16.
This issue affects all CDH versions starting with CDH4.6.0 and as a result blocks usage Guava 16 in Pig UDFs. Stacktrace (mostly for crowlers):
ERROR 2998: Unhandled internal error. com.google.common.hash.Hasher.putString(Ljava/lang/CharSequence;)Lcom/google/common/hash/Hasher; java.lang.NoSuchMethodError: com.google.common.hash.Hasher.putString(Ljava/lang/CharSequence;)Lcom/google/common/hash/Hasher; at org.apache.pig.newplan.logical.relational.LogicalPlan.getHash(LogicalPlan.java:129) at org.apache.pig.tools.pigstats.ScriptState.getScriptHash(ScriptState.java:345) at org.apache.pig.tools.pigstats.ScriptState.addSettingsToConf(ScriptState.java:301) at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.getJob(JobControlCompiler.java:459) at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.compile(JobControlCompiler.java:295) at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher.launchPig(MapReduceLauncher.java:177) at org.apache.pig.PigServer.launchPlan(PigServer.java:1266) at org.apache.pig.PigServer.executeCompiledLogicalPlan(PigServer.java:1251) at org.apache.pig.PigServer.execute(PigServer.java:1241) at org.apache.pig.PigServer.executeBatch(PigServer.java:335) at org.apache.pig.tools.grunt.GruntParser.executeBatch(GruntParser.java:137) at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:198) at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:170) at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:84) at org.apache.pig.Main.run(Main.java:475) at org.apache.pig.Main.main(Main.java:157) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.hadoop.util.RunJar.main(RunJar.java:208)