[
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)