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

ASF GitHub Bot commented on ZOOKEEPER-2755:
-------------------------------------------

Github user afine commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/227#discussion_r113306599
  
    --- Diff: src/java/main/org/apache/zookeeper/server/ConnectionBean.java ---
    @@ -21,15 +21,18 @@
     import java.net.Inet6Address;
     import java.net.InetAddress;
     import java.net.InetSocketAddress;
    +import java.net.SocketAddress;
     import java.util.Arrays;
     
     import javax.management.ObjectName;
    +import org.apache.zookeeper.common.SocketAddressUtils;
     
     import org.apache.zookeeper.common.Time;
     import org.slf4j.Logger;
     import org.slf4j.LoggerFactory;
     import org.apache.zookeeper.jmx.MBeanRegistry;
     import org.apache.zookeeper.jmx.ZKMBeanInfo;
    +import org.jboss.netty.channel.local.LocalAddress;
    --- End diff --
    
    unused import


> Allow to subclass ClientCnxnSocketNetty and NettyServerCnxn in order to use 
> Netty Local transport
> -------------------------------------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-2755
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2755
>             Project: ZooKeeper
>          Issue Type: New Feature
>          Components: java client, server
>    Affects Versions: 3.5.2
>            Reporter: Enrico Olivelli
>
> ClientCnxnSocketNetty and NettyServerCnxn use explicitly InetSocketAddress 
> class to work with network addresses.
> We can do a little refactoring to use only SocketAddress and make it possible 
> to create subclasses of ClientCnxnSocketNetty and NettyServerCnxn which 
> leverage built-in Netty 'local' channels. 
> Such Netty local channels do not create real sockets and so allow a simple 
> ZooKeeper server + ZooKeeper client to be run on the same JVM without binding 
> to real TCP endpoints.
> Usecases:
> Ability to run concurrently on the same machine tests of projects which use 
> ZooKeeper (usually in unit tests the server and the client run inside the 
> same JVM) without dealing with random ports and in general using less network 
> resources
> Run simplified (standalone, all processes in the same JVM) versions of 
> applications which need a working ZooKeeper ensemble to run.
> Note:
> Embedding ZooKeeper server + client on the same JVM has many risks and in 
> general I think we should encourage users to do so, so I in this patch I will 
> not provide official implementations of ClientCnxnSocketNetty and 
> NettyServerCnxn. There will be implementations only inside the test packages, 
> in order to test that most of the features are working with custom socket 
> factories and in particular with the 'LocalAddress' specific subclass of 
> SocketAddress.
> Note:
> the 'Local' sockets feature will be available on Netty 4 too



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to