You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@storm.apache.org by kishorvpatil <gi...@git.apache.org> on 2015/06/04 18:57:13 UTC

[GitHub] storm pull request: [STORM-848] Shade external dependencies

GitHub user kishorvpatil opened a pull request:

    https://github.com/apache/storm/pull/577

    [STORM-848] Shade external dependencies

    Shading following dependencies:
    org.apache.httpcomponents:http*
    org.apache.zookeeper:zookeeper
    org.apache.curator:*
    com.twitter:carbonite
    com.twitter:chill-java
    org.objenesis:objenesis
    org.tukaani:xz
    org.yaml:snakeyaml
    org.jgrapht:jgrapht-core
    commons-httpclient:commons-httpclient
    org.apache.commons:commons-compress
    org.apache.commons:commons-exec
    commons-io:commons-io
    commons-codec:commons-codec
    commons-fileupload:commons-fileupload
    commons-lang:commons-lang
    com.googlecode.json-simple:json-simple
    org.clojure:math.numeric-tower
    org.clojure:tools.cli
    org.clojure:tools.macro
    joda-time:joda-time

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/kishorvpatil/incubator-storm STORM-848

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/storm/pull/577.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #577
    
----
commit 9ecf26cfb1b29ef369a4a99de85e2237645306c3
Author: Kishor Patil <kp...@yahoo-inc.com>
Date:   2015-06-04T14:35:49Z

    Shade external dependencies

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] storm pull request: [STORM-848] Shade external dependencies

Posted by kishorvpatil <gi...@git.apache.org>.
Github user kishorvpatil commented on the pull request:

    https://github.com/apache/storm/pull/577#issuecomment-109023252
  
    @ptgoetz  I get following exceptions when I try to shade Jetty
    ```Console
    Compiling storm.starter.clj.word-count to /home/kpatil/commun/incubator-storm/examples/storm-starter/target/classes
    Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes, compiling:(word_count.clj:16:1)
    	at clojure.lang.Compiler$InvokeExpr.eval(Compiler.java:3558)
    	at clojure.lang.Compiler.compile1(Compiler.java:7226)
    	at clojure.lang.Compiler.compile1(Compiler.java:7216)
    	at clojure.lang.Compiler.compile(Compiler.java:7292)
    	at clojure.lang.RT.compile(RT.java:398)
    	at clojure.lang.RT.load(RT.java:438)
    	at clojure.lang.RT.load(RT.java:411)
    	at clojure.core$load$fn__5066.invoke(core.clj:5641)
    	at clojure.core$load.doInvoke(core.clj:5640)
    	at clojure.lang.RestFn.invoke(RestFn.java:408)
    	at clojure.core$load_one.invoke(core.clj:5446)
    	at clojure.core$compile$fn__5071.invoke(core.clj:5652)
    	at clojure.core$compile.invoke(core.clj:5651)
    	at clojure.lang.Var.invoke(Var.java:379)
    	at clojure.lang.Compile.main(Compile.java:81)
    Caused by: java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
    	at sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.java:286)
    	at sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.java:239)
    	at java.util.jar.JarVerifier.processEntry(JarVerifier.java:317)
    	at java.util.jar.JarVerifier.update(JarVerifier.java:228)
    	at java.util.jar.JarFile.initializeVerifier(JarFile.java:348)
    	at java.util.jar.JarFile.getInputStream(JarFile.java:415)
    	at sun.misc.URLClassPath$JarLoader$2.getInputStream(URLClassPath.java:775)
    	at sun.misc.Resource.cachedInputStream(Resource.java:77)
    	at sun.misc.Resource.getByteBuffer(Resource.java:160)
    	at java.net.URLClassLoader.defineClass(URLClassLoader.java:436)
    	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)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:412)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:412)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    	at java.lang.Class.forName0(Native Method)
    	at java.lang.Class.forName(Class.java:190)
    	at storm.starter.clj.word_count$loading__4958__auto__.invoke(word_count.clj:16)
    	at clojure.lang.AFn.applyToHelper(AFn.java:152)
    	at clojure.lang.AFn.applyTo(AFn.java:144)
    	at clojure.lang.Compiler$InvokeExpr.eval(Compiler.java:3553)
    
    ```



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] storm pull request: [STORM-848] Shade external dependencies

Posted by ptgoetz <gi...@git.apache.org>.
Github user ptgoetz commented on the pull request:

    https://github.com/apache/storm/pull/577#issuecomment-109057662
  
    Thanks @kishorvpatil!
    
    +1


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] storm pull request: [STORM-848] Shade external dependencies

Posted by revans2 <gi...@git.apache.org>.
Github user revans2 commented on the pull request:

    https://github.com/apache/storm/pull/577#issuecomment-108991541
  
    @ptgoetz my problem with that is the distribution mechanism is different for external from what it is for storm proper.  Say I create a topology jar with storm-hdfs in it.  At some point in the future storm upgrades the version of snake.yaml and it is a non-backwards compatible change.  Now my topology will not run on a newer version of storm.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] storm pull request: [STORM-848] Shade external dependencies

Posted by kishorvpatil <gi...@git.apache.org>.
Github user kishorvpatil commented on the pull request:

    https://github.com/apache/storm/pull/577#issuecomment-108989857
  
    @Parth-Brahmbhatt Primarily, anything that's getting directly called from withing clojure is hard to shade. Hence (disruptor, jetty..) etc are not shaded. As such newer version of jetty are self-shaded ( the packages are different.). But it would be a much bigger change to accomplish.
    
    As the storm-core is shading these dependencies, they need to be called out explicitly by connectors now if they implicitly depended on storm-core so far. 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] storm pull request: [STORM-848] Shade external dependencies

Posted by tedxia <gi...@git.apache.org>.
Github user tedxia commented on the pull request:

    https://github.com/apache/storm/pull/577#issuecomment-115465087
  
    @revans2 thanks for your replay.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] storm pull request: [STORM-848] Shade external dependencies

Posted by kishorvpatil <gi...@git.apache.org>.
Github user kishorvpatil commented on the pull request:

    https://github.com/apache/storm/pull/577#issuecomment-109056014
  
    Thank you @ptgoetz. The changes worked. And Jetty is shaded now.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] storm pull request: [STORM-848] Shade external dependencies

Posted by Parth-Brahmbhatt <gi...@git.apache.org>.
Github user Parth-Brahmbhatt commented on the pull request:

    https://github.com/apache/storm/pull/577#issuecomment-108971727
  
    Can we also shade jetty? Also why there are new dependency on some connectors.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] storm pull request: [STORM-848] Shade external dependencies

Posted by ptgoetz <gi...@git.apache.org>.
Github user ptgoetz commented on the pull request:

    https://github.com/apache/storm/pull/577#issuecomment-108998003
  
    @revans2 Good point.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] storm pull request: [STORM-848] Shade external dependencies

Posted by tedxia <gi...@git.apache.org>.
Github user tedxia commented on the pull request:

    https://github.com/apache/storm/pull/577#issuecomment-115080809
  
    With this patch, there are a lot of ClassNotFoundException when nimbus or ui load Plugins such as AutoHdfs, what can we do to fix this.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] storm pull request: [STORM-848] Shade external dependencies

Posted by ptgoetz <gi...@git.apache.org>.
Github user ptgoetz commented on the pull request:

    https://github.com/apache/storm/pull/577#issuecomment-108990802
  
    @kishorvpatil what issues did you run into when you shaded Jetty?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] storm pull request: [STORM-848] Shade external dependencies

Posted by ptgoetz <gi...@git.apache.org>.
Github user ptgoetz commented on the pull request:

    https://github.com/apache/storm/pull/577#issuecomment-109041007
  
    @kishorvpatil I can't reproduce it. What does your shade config for jetty look like?
    
    Here are the sections I added to test:
    
    The include:
    ```xml
    <include>org.eclipse.jetty:*</include>
    ```
    
    The relocation:
    ```xml
                         <pattern>org.eclipse.jetty</pattern>
                                <shadedPattern>org.apache.storm.jetty</shadedPattern>
                            </relocation>
    ```
    
    I left out the filter @Parth-Brahmbhatt mentioned, expecting to get the error you did, but everything succeeded.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] storm pull request: [STORM-848] Shade external dependencies

Posted by ptgoetz <gi...@git.apache.org>.
Github user ptgoetz commented on the pull request:

    https://github.com/apache/storm/pull/577#issuecomment-108990526
  
    I agree with @Parth-Brahmbhatt. I think for components in "/external" we should use the use the shaded classes in storm-core instead of manually adding the dependency. Doing so is just a matter of changing import statements.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] storm pull request: [STORM-848] Shade external dependencies

Posted by revans2 <gi...@git.apache.org>.
Github user revans2 commented on the pull request:

    https://github.com/apache/storm/pull/577#issuecomment-115269553
  
    @tedxia I responded on your pull request #600 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] storm pull request: [STORM-848] Shade external dependencies

Posted by Parth-Brahmbhatt <gi...@git.apache.org>.
Github user Parth-Brahmbhatt commented on the pull request:

    https://github.com/apache/storm/pull/577#issuecomment-109025180
  
    can you try adding following to the shade-plugin part. See http://maven.apache.org/plugins/maven-shade-plugin/examples/includes-excludes.html for a full example.
    
      <filters>
            <filter>
                <artifact>*:*</artifact>
                <excludes>
                    <exclude>META-INF/*.SF</exclude>
                    <exclude>META-INF/*.DSA</exclude>
                    <exclude>META-INF/*.RSA</exclude>
                </excludes>
            </filter>
        </filters>


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] storm pull request: [STORM-848] Shade external dependencies

Posted by revans2 <gi...@git.apache.org>.
Github user revans2 commented on the pull request:

    https://github.com/apache/storm/pull/577#issuecomment-109301657
  
    +1


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] storm pull request: [STORM-848] Shade external dependencies

Posted by Parth-Brahmbhatt <gi...@git.apache.org>.
Github user Parth-Brahmbhatt commented on the pull request:

    https://github.com/apache/storm/pull/577#issuecomment-109058294
  
    +1.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] storm pull request: [STORM-848] Shade external dependencies

Posted by kishorvpatil <gi...@git.apache.org>.
Github user kishorvpatil commented on the pull request:

    https://github.com/apache/storm/pull/577#issuecomment-109043828
  
    I tried What @Parth-Brahmbhatt  suggested to successfully build it. Testing it now.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] storm pull request: [STORM-848] Shade external dependencies

Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:

    https://github.com/apache/storm/pull/577


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---