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

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

Github user ivankelly commented on the issue:

    https://github.com/apache/zookeeper/pull/227
  
    @eolivelli 
    
    Only the testing usecase appears to hold value for the zookeeper community 
at large. Your production usecase, is really a production usecase of 
bookkeeper, and zookeeper is only getting caught up in it because currently 
bookkeeper has a hard dependency on zookeeper.
    
    As i understand it, you're using bookkeeper locally as a WAL logging 
library. Even this is not a officially supported usecase for bookkeeper, though 
it is something the bookkeeper community could explore. In theory it should be 
straight forward to create something like a local ledger interface that sends 
all writes to the local disk. But this is the level at which this would hold 
value for for the larger community.
    
    As such, unfortunately I'm -1 on this patch going in. I'm happy to be 
overriden by someone with authority on the zk repo though :) (cc: @hanm)


> 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
>            Assignee: 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.4.14#64029)

Reply via email to