[
https://issues.apache.org/jira/browse/ACCUMULO-1889?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sean Busbey updated ACCUMULO-1889:
----------------------------------
Attachment: ACCUMULO-1889.2.patch.txt
patch updated per Chris' suggestion. Review board also updated, restarting
functional tests.
> 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.6.0
>
> Attachments: ACCUMULO-1889.1.patch.txt, ACCUMULO-1889.2.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#6144)