I just wanted to let folks know about the availability of a new project called 'Accumulo ProxyInstance'. It is a Java Instance implementation that communicates with an Accumulo cluster via the Thrift proxy server.
Basically, we have an isolated Accumulo cluster only accessible to the rest of the network through a single, dual-homed gatekeeper machine. We started the Thrift proxy server on the gatekeeper. We then created this Instance implementation to allow developers to access the cluster from their development machines through the gatekeeper/proxy but still using the traditional Java Instance APIs. This encapsulates a majority of the client code from needing to know if it is running on the cluster or connecting through the proxy server (with the notable exception of the actual Instance instantiation). Now for convenience we can test, debug, and perform smaller queries using the ProxyInstance on our development machines through the proxy server. When performance demands it, we can simply change 1 line of code to instantiate a ZooKeeperInstance instead, move the code to the isolated subnet, and communicate directly with the tablet servers using the traditional Java client library. You can read more about the project here: http://jhuapl.github.io/accumulo-proxy-instance/proxy_instance_user_manual.html. The code is available on github (https://github.com/JHUAPL/accumulo-proxy-instance) and the JAR is on maven central (http://search.maven.org/#artifactdetails|edu.jhuapl.accumulo|proxy-instance|1.0.0|jar). It was developed and tested against Accumulo 1.6.2. We've found it useful in our development environment given our isolated Accumulo cluster; perhaps others who have a similar setup might also find utility in it as well. Thanks, Dennis
