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

Sean Owen commented on SPARK-1693:
----------------------------------

I suspect this occurs because two copies of the servlet API jars are included 
from two sources, and one of those sources includes jar signing information in 
its manifest. The resulting merged jar has collisions in the signing 
information and it no longer matches.

If that's right, the fastest way to avoid this is usually to drop signing 
information that is in the manifest since it is not helpful in the assembly 
jar. Of course it's ideal to avoid merging two copies of the same dependencies, 
since only one can be included, and that's why we see some [warn] in the build. 
In just about all cases it is harmless since they are actually copies of the 
same version of the same classes.

I will look into what ends up in the manifest.

> Most of the tests throw a java.lang.SecurityException when spark built for 
> hadoop 2.3.0 , 2.4.0 
> ------------------------------------------------------------------------------------------------
>
>                 Key: SPARK-1693
>                 URL: https://issues.apache.org/jira/browse/SPARK-1693
>             Project: Spark
>          Issue Type: Bug
>          Components: Spark Core
>            Reporter: Guoqiang Li
>            Assignee: Guoqiang Li
>         Attachments: log.txt
>
>
> {code}mvn test -Pyarn -Dhadoop.version=2.4.0 -Dyarn.version=2.4.0 > 
> log.txt{code}
> The log: 
> {code}
> UnpersistSuite:
> - unpersist RDD *** FAILED ***
>   java.lang.SecurityException: class "javax.servlet.FilterRegistration"'s 
> signer information does not match signer information of other classes in the 
> same package
>   at java.lang.ClassLoader.checkCerts(ClassLoader.java:952)
>   at java.lang.ClassLoader.preDefineClass(ClassLoader.java:666)
>   at java.lang.ClassLoader.defineClass(ClassLoader.java:794)
>   at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
>   at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
>   at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
>   at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
>   at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>   at java.security.AccessController.doPrivileged(Native Method)
>   at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to