Description
InterProcessSemaphoreV2 incorrectly processes InterruptedException.
Method `InterProcessSemaphoreV2#makeLease(final String path)` contains code block
try { client.delete().guaranteed().forPath(path); } catch ( KeeperException.NoNodeException e ) { log.warn("Lease already released", e); } catch ( Exception e ) { throw new IOException(e); }
The problem is that code in try block may throw an InterruptedException and this exception gets wrapped into IOException so it becomes very problematic to handle it properly.
Attachments
Issue Links
- supercedes
-
CURATOR-109 Threads that are sleeping should get interrupted when closing the client.
- Closed