You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@accumulo.apache.org by Eric Daniels <ed...@researchinnovations.com> on 2016/12/13 22:42:01 UTC

Closing a ZooKeeperInstance client connection

This question may be naive, but I was just wondering why the Java Zookeeper
implementation Accumulo provides gives no way to close the client
connection(s).

The reason I ask is that we spin up a mini cluster to use for various test
classes. As far as I've been able to tell, there is no way to kill the
client after you get a Connector from a Zookeeper instance connected to the
cluster.   Hence every time we shut down the cluster it dumps socket and
connection error messages because the Zookeeper client can no longer talk
to the cluster (obviously).  Given we have a very large number of tests
classes, it makes our build logs full of these exception messages.

Is there something I'm missing here or not understanding?  It seems like
the main Apache Zookeeper api has close methods, just the Accumulo one does
not.  Any insight here would be appreciated.

Thanks,

Eric

Re: Closing a ZooKeeperInstance client connection

Posted by Christopher <ct...@apache.org>.
The Instance does not represent a stateful connection. Thus, a close
operation does not make sense.

The Instance interface is supposed to represent a strategy for identifying
a particular deployed instance of Accumulo.

Over time, it may have gathered state. In addition, there are several
places in the client code where we store static state in the JVM, and it
may appear that these are coming from the Instance, only because that's the
logical entry point to Accumulo. These are areas we know we need to work
on, and a proper client resources lifecycle *is* expected at some future
point. However, there's a lot of development work to get to that point.


On Tue, Dec 13, 2016 at 5:42 PM Eric Daniels <
edaniels@researchinnovations.com> wrote:

> This question may be naive, but I was just wondering why the Java
> Zookeeper implementation Accumulo provides gives no way to close the client
> connection(s).
>
> The reason I ask is that we spin up a mini cluster to use for various test
> classes. As far as I've been able to tell, there is no way to kill the
> client after you get a Connector from a Zookeeper instance connected to the
> cluster.   Hence every time we shut down the cluster it dumps socket and
> connection error messages because the Zookeeper client can no longer talk
> to the cluster (obviously).  Given we have a very large number of tests
> classes, it makes our build logs full of these exception messages.
>
> Is there something I'm missing here or not understanding?  It seems like
> the main Apache Zookeeper api has close methods, just the Accumulo one does
> not.  Any insight here would be appreciated.
>
> Thanks,
>
> Eric
>
-- 
Christopher