[
https://issues.apache.org/jira/browse/CURATOR-375?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15801445#comment-15801445
]
ASF GitHub Bot commented on CURATOR-375:
----------------------------------------
GitHub user thecoop opened a pull request:
https://github.com/apache/curator/pull/186
[CURATOR-375] - fix thread interruption being reported twice
In some classes, thread interruption was being reported twice - by setting
the thread interrupted flag and re-throwing the `InterruptedException` - this
made it look like the thread was actually interrupted twice, and generally
causes spurious interruption - even if the `InterruptedException` is handled,
the thread interruption status is still set, meaning the next async operation
that happens will also fail.
Affected classes:
- `ConnectionState` - `closeAndClear` can never throw
`InterruptedException` canyway, so remove the check completely
- `PersistentNode` - as mentioned in the docs for `AutoCloseable`, close
methods shouldn't throw InterruptedException anyway. The delete operation is
guaranteed, so even if `deleteNode` throws an exception, the node will still
(probably) be deleted
- `CreateBuilderImpl`/`DeleteBuilderImpl` - the exception is being
re-thrown, so don't need to re-set the interrupt status
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/thecoop/curator CURATOR-375
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/curator/pull/186.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #186
----
commit 81edd7e07a1fae2412c3e42e74a31b992aa72669
Author: Simon Cooper <[email protected]>
Date: 2017-01-05T14:08:17Z
CURATOR-375 - fix thread interruption being reported using thread
interrupted flag and an exception at the same time
----
> FIx thread interruption being reported twice
> --------------------------------------------
>
> Key: CURATOR-375
> URL: https://issues.apache.org/jira/browse/CURATOR-375
> Project: Apache Curator
> Issue Type: Bug
> Affects Versions: 2.11.1
> Reporter: Simon Cooper
> Assignee: Jordan Zimmerman
>
> When a curator operation thread is interrupted, some classes
> ({{PersistentNode}} {{ConnectionState}} primarily) report the interruption in
> two ways at the same time - by re-marking the thread interruption status
> *and* throwing {{InterruptedException}} - this makes it look like the thread
> has been interrupted twice, rather than once.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)