[ https://issues.apache.org/jira/browse/BOOKKEEPER-896?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15185077#comment-15185077 ]
ASF GitHub Bot commented on BOOKKEEPER-896: ------------------------------------------- Github user eolivelli closed the pull request at: https://github.com/apache/bookkeeper/pull/20 > VM-local transport > ------------------ > > Key: BOOKKEEPER-896 > URL: https://issues.apache.org/jira/browse/BOOKKEEPER-896 > Project: Bookkeeper > Issue Type: New Feature > Components: bookkeeper-client, bookkeeper-server > Affects Versions: 4.4.0 > Reporter: Enrico Olivelli > Priority: Minor > > Hi, > I’m wondering if it is feasible to have a way to launch a Bookie and a > Bookkeeper client in the same JVM without using network, valid use cases are: > 1) Unit testing > 2) Installations using a single Bookie > 1) Unit testing > For unit testing I’m using mock classes which reproduce the functions of > Bookkeeper but it makes my code more complex. > Running network-related libraries limits the possibility of running tests in > parallel and slows down the overall throughput of the tests > 2) Single Bookie deployment > Sometimes I need to launch software which uses Bookkeeper in a single-machine > deployment, in this case using an embedded Bookie will let to have only a > single JVM process which runs the full stack of the service. > For instance when I’m using Bookkeeper as a commit log I need to implement a > commit log which uses Bookkeeper for replicated deployments, a simple “file” > based commit log and a pure in-memory commit log for unit testing. > I think it could be done using Netty LocalServerChannelFactory (and related > client-side classes) and some tricks about the use of hostnames, registration > on Zookeeper and so on > Of course the same issue will be on Zookkeeper -- This message was sent by Atlassian JIRA (v6.3.4#6332)