accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Havanki (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ACCUMULO-1889) ZooKeeperInstance close method should mark instance closed.
Date Fri, 20 Dec 2013 17:24:11 GMT

    [ https://issues.apache.org/jira/browse/ACCUMULO-1889?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13854205#comment-13854205
] 

Bill Havanki commented on ACCUMULO-1889:
----------------------------------------

[~ecn]: In commit 674fa95, {{InputConfigurator.getTabletLocator()}}: is the closing of the
instance there OK? The instance object is preserved in a {{MetadataLocationObtainer}} object
in the created locator, and that object uses it for tablet location lookups. I'm comparing
this commit to the work I have ongoing in ACCUMUL0-1923. Thanks!

> ZooKeeperInstance close method should mark instance closed.
> -----------------------------------------------------------
>
>                 Key: ACCUMULO-1889
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-1889
>             Project: Accumulo
>          Issue Type: Bug
>    Affects Versions: 1.4.5, 1.5.1, 1.6.0
>            Reporter: Sean Busbey
>            Assignee: Sean Busbey
>             Fix For: 1.4.5, 1.5.1, 1.6.0
>
>         Attachments: ACCUMULO-1889.1.patch.txt
>
>
> (1.4.5 and 1.5.1 impact presumes ACCUMULO-1858 gets applied)
> The current close() implementation on ZooKeeperInstance only marks a given instance as
closed if the outstanding client count is 0.
> {code}
>   public synchronized void close() throws AccumuloException {
>     if (!closed && clientInstances.decrementAndGet() == 0) {
>       try {
>         zooCache.close();
>         ThriftUtil.close();
>       } catch (InterruptedException e) {
>         clientInstances.incrementAndGet();
>         throw new AccumuloException("Issues closing ZooKeeper.");
>       }
>       closed = true;
>     }
>   }
> {code}
> This is incorrect for two reason:
> 1) It allows continued operations on a given ZKI after it has had close() called on it
> 2) It allows a given ZKI to decrement the number of open clients more than once



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)

Mime
View raw message