[
https://issues.apache.org/jira/browse/CURATOR-544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17046693#comment-17046693
]
Zili Chen commented on CURATOR-544:
-----------------------------------
[~randgalt] I just notice that we don't rely on {{RetryLoop}} instance
somewhere such as for background operations, but use static methods of
{{RetryLoop}}. That will make it hard to implement a session related retry loop
implementation which replace all retry logic. Possibly I need another round to
see what is a good way to serve a user-facing session retry loop.
I'll appreciate it if you can share your idea. A significant problem is what
backward compatibility Curator provides. Since {{RetryLoop.shouldRetry}} &
{{RetryLoop.isRetryException}} leak I'm afraid it is hard to implement in a
transparent way.
> Implement SessionConnectionHandlingPolicy
> -----------------------------------------
>
> 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
>
> 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]
--
This message was sent by Atlassian Jira
(v8.3.4#803005)