Simon Cooper created CURATOR-353:
------------------------------------
Summary: PathChildrenCache and PersistentNode interrupt each other
if sharing the same executor
Key: CURATOR-353
URL: https://issues.apache.org/jira/browse/CURATOR-353
Project: Apache Curator
Issue Type: Bug
Affects Versions: 2.11.0
Reporter: Simon Cooper
Assignee: Jordan Zimmerman
Priority: Minor
In our example, we've got a PathChildrenCache and PersistentNode sharing the
same executor.
This interacts badly with interrupts - when `PathChildrenCache` is closed, this
calls `CloseableExecutorService.close()`, which interrupts all the current
pending tasks via `Future.cancel(true)`.
If `PersistentNode` is then closed, there's a chance that the `deleteNode()`
will happen on a thread on the shared executor that was interrupted by the
closing executor service. This throws `InterruptedException`, which is caught
and rethrown as an `IOException`. This results in spurious failures in our
tests when the `close` randomly throws `IOException`
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)