Angad Singh created CURATOR-617:
-----------------------------------
Summary: UnregisterService Method in ServiceDiscoveryImpl is
non-Idempotent in case of connection-failure
Key: CURATOR-617
URL: https://issues.apache.org/jira/browse/CURATOR-617
Project: Apache Curator
Issue Type: Bug
Affects Versions: 5.1.0
Environment: Windows 10, 64-Bit
Reporter: Angad Singh
Assignee: Jordan Zimmerman
The unregisterService( ) method in ServiceDiscoveryImpl throws a
KeeperException.ConnectionLossException the first time it is invoked while the
server connection is down. The next time, however, the service has already been
removed from the internal _services_ cache. Hence the internalUnregisterService
function does not proceed since the entry is null the second time around.
We are not using the blockUntilConnected option, and instead are trying to
implement a local retry mechanism. We are dependent upon the
ConnectionLossException to be thrown, in order to catch and evaluate it before
retrying with an exponential back-off.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)