Dave Cohrs created CURATOR-85:
---------------------------------

             Summary: curator-client ConnectionState uses deprecated Closeables 
method
                 Key: CURATOR-85
                 URL: https://issues.apache.org/jira/browse/CURATOR-85
             Project: Apache Curator
          Issue Type: Bug
          Components: Client
    Affects Versions: 2.3.0
            Reporter: Dave Cohrs


Tried to upgrade to guava 16 and started getting these errors from Curator on 
exit:

Exception in thread "Thread-1" java.lang.NoSuchMethodError: 
com.google.common.io.Closeables.closeQuietly(Ljava/io/Closeable;)V
        at org.apache.curator.ConnectionState.close(ConnectionState.java:109)
        at 
org.apache.curator.CuratorZookeeperClient.close(CuratorZookeeperClient.java:196)
        at 
org.apache.curator.framework.imps.CuratorFrameworkImpl.close(CuratorFrameworkImpl.java:284)
        at 
com.virident.fmc.service.AbstractService.closeCF(AbstractService.java:199)
        at 
com.virident.fmc.service.AbstractService.shutdown(AbstractService.java:215)
        at 
com.virident.fmc.service.AbstractService.access$000(AbstractService.java:31)
        at 
com.virident.fmc.service.AbstractService$1.run(AbstractService.java:98)
tail: /var/lib/vgccluster/manager.out: file truncated

Investigation shows that this code:

    public void close() throws IOException
    {
        log.debug("Closing");

        Closeables.closeQuietly(ensembleProvider);

This closeQuietly() method is deprecated as of guava 14, and it gone in guava 
16.  The 2-parameter closeQuietly() needs to be called, eg:

        Closeables.closeQuietly(ensembleProvider, true);

Curator trunk source still seems to have this bug.  The 2-parameter 
closeQuietly should already be available in guava 14.




--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to