You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Sean Owen (JIRA)" <ji...@apache.org> on 2015/01/01 20:37:13 UTC

[jira] [Commented] (SPARK-5052) Shaded com.google.common.base.Optional transform() method has a wrong signature

    [ https://issues.apache.org/jira/browse/SPARK-5052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14262646#comment-14262646 ] 

Sean Owen commented on SPARK-5052:
----------------------------------

Guava is shaded, except for this one class, because it was sort of inadvertently used in the public API. It should be a shading of Guava 14. You are perhaps trying to use a different version? And that results in this ugly little conflict. Best thing is to use Guava 14 or at least ensure a different copy does not shadow this Optional at runtime. I am not sure there is otherwise a change in Spark here. 

> Shaded com.google.common.base.Optional transform() method has a wrong signature
> -------------------------------------------------------------------------------
>
>                 Key: SPARK-5052
>                 URL: https://issues.apache.org/jira/browse/SPARK-5052
>             Project: Spark
>          Issue Type: Bug
>          Components: Spark Core
>    Affects Versions: 1.2.0
>            Reporter: Elmer Garduno
>
> PR https://github.com/apache/spark/pull/1813 shaded Guava jar file and moved Guava classes to package org.spark-project.guava when Spark is built by Maven.
> When a user jar uses the actual com.google.common.base.Optional transform(com.google.common.base.Function); method from Guava,  a java.lang.NoSuchMethodError: com.google.common.base.Optional.transform(Lcom/google/common/base/Function;)Lcom/google/common/base/Optional; is thrown.
> The reason seems to be that the Optional class included on spark-assembly-1.2.0-hadoop1.0.4.jar has an incorrect method signature that includes the shaded class as an argument:
> Expected:
> javap -classpath target/scala-2.10/googlegenomics-spark-examples-assembly-1.0.jar com.google.common.base.Optional
>   public abstract <V extends java/lang/Object> com.google.common.base.Optional<V> transform(com.google.common.base.Function<? super T, V>);
> Found:
> javap -classpath lib/spark-assembly-1.2.0-hadoop1.0.4.jar com.google.common.base.Optional
>   public abstract <V extends java/lang/Object> com.google.common.base.Optional<V> transform(org.spark-project.guava.common.base.Function<? super T, V>);



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org