Enrico Olivelli created BOOKKEEPER-896: ------------------------------------------
Summary: 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)