[
https://issues.apache.org/jira/browse/CURATOR-544?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jordan Zimmerman resolved CURATOR-544.
--------------------------------------
Fix Version/s: 5.0.0
Resolution: Fixed
> Implement SessionFailedRetryPolicy
> ----------------------------------
>
> Key: CURATOR-544
> URL: https://issues.apache.org/jira/browse/CURATOR-544
> Project: Apache Curator
> Issue Type: New Feature
> Components: Client
> Reporter: Zili Chen
> Priority: Major
> Fix For: 5.0.0
>
> Time Spent: 1h 20m
> Remaining Estimate: 0h
>
> [https://lists.apache.org/x/thread.html/2549c310c1e3232d2f746bf1cf7110c094ea2ca9d1e54b34b75a508f@%3Cuser.curator.apache.org%3E]
> Currently Curator will always reset on session expire and instance a new ZK
> client as well as recover state.
> Because on session expire ephemeral znodes get deleted, some of user cases
> possibly want to manually handle session expire before automatically reset
> {{o.a.c.ConnectionState}}.
> -I propose implement a {{SessionConnectionHandlingPolicy}} whose
> {{callWithRetry}} use {{SessionFailRetryLoop}} so that
> {{o.a.c.ConnectionState}} fails on session expired.-
> -BTW, it would be a user-friendly way to make user of
> {{SessionFailRetryLoop}}.-
> I volunteer to work on an implementation.
> What do you think?
> CC [~randgalt]
> As time goes by, we change a bit what API looks like. For implement the same
> functionality, we change code of RetryPolicy instead. To be brief, we (1)
> move {{RetryLook.isRetriableException}} to
> {{RetryPolicy#allowRetry(Exception)}} and existing impls have a default impl
> that keeps the manner (2) impl a {{SessionFailedRetryPolicy}} that throws
> when {{SessionExipredException}} tested, while the other examination
> delegated to another policy.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)