You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Raul Gutierrez Segales (JIRA)" <ji...@apache.org> on 2013/09/23 22:47:03 UTC

[jira] [Commented] (ZOOKEEPER-1681) ZooKeeper 3.4.x can optionally use netty for nio but the pom does not declare the dep as optional

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

Raul Gutierrez Segales commented on ZOOKEEPER-1681:
---------------------------------------------------

I guess https://issues.apache.org/jira/browse/ZOOKEEPER-1763 would help. 
                
> ZooKeeper 3.4.x can optionally use netty for nio but the pom does not declare the dep as optional
> -------------------------------------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-1681
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1681
>             Project: ZooKeeper
>          Issue Type: Improvement
>    Affects Versions: 3.4.0, 3.4.1, 3.4.2, 3.4.4, 3.4.5
>            Reporter: John Sirois
>             Fix For: 3.5.0
>
>
> For example in [3.4.5|http://search.maven.org/remotecontent?filepath=org/apache/zookeeper/zookeeper/3.4.5/zookeeper-3.4.5.pom] we see:
> {code}
> $ curl -sS http://search.maven.org/remotecontent?filepath=org/apache/zookeeper/zookeeper/3.4.5/zookeeper-3.4.5.pom | grep -B1 -A4 org.jboss.netty
>     <dependency>
>       <groupId>org.jboss.netty</groupId>
>       <artifactId>netty</artifactId>
>       <version>3.2.2.Final</version>
>       <scope>compile</scope>
>     </dependency>
> {code}
> As a consumer I can depend on zookeeper with an exclude for org.jboss.netty#netty or I can let my transitive dep resolver pick a winner.  This might be fine, except for those who might be using a more modern netty published under the newish io.netty groupId.  With this twist you get both org.jboss.netty#netty;foo and io.netty#netty;bar on your classpath and runtime errors ensue from incompatibilities. unless you add an exclude against zookeeper (and clearly don't enable the zk netty nio handling.)
> I propose that this is a pom bug although this is debatable.  Clearly as currently packaged zookeeper needs netty to compile, but I'd argue since it does not need netty to run, either the scope should be provided or optional or a zookeeper-netty lib should be broken out as an optional dependency and this new dep published by zookeeper can have a proper compile dependency on netty.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira