You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@curator.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2023/03/01 16:05:00 UTC

[jira] [Work logged] (CURATOR-518) Curator. LeaderSelector. Two successive calls to interruptLeadership() will break autoRequeue.

     [ https://issues.apache.org/jira/browse/CURATOR-518?focusedWorklogId=848391&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-848391 ]

ASF GitHub Bot logged work on CURATOR-518:
------------------------------------------

                Author: ASF GitHub Bot
            Created on: 01/Mar/23 16:04
            Start Date: 01/Mar/23 16:04
    Worklog Time Spent: 10m 
      Work Description: kezhuw opened a new pull request, #446:
URL: https://github.com/apache/curator/pull/446

   Currently, `LeaderSelector.interruptLeadership` clould cancel queued contention task before its execution which will break contention loop.




Issue Time Tracking
-------------------

            Worklog Id:     (was: 848391)
    Remaining Estimate: 0h
            Time Spent: 10m

> Curator. LeaderSelector. Two successive calls to interruptLeadership() will break autoRequeue.
> ----------------------------------------------------------------------------------------------
>
>                 Key: CURATOR-518
>                 URL: https://issues.apache.org/jira/browse/CURATOR-518
>             Project: Apache Curator
>          Issue Type: Improvement
>          Components: Recipes
>    Affects Versions: 4.0.1, 4.2.0
>         Environment: Windows 8, JRE 1.8.0_181
>            Reporter: Bulatov Oleg
>            Priority: Major
>              Labels: newbie
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> h1. Curator. LeaderSelector. Two successive calls to interruptLeadership() will break autoRequeue
> If we set autoRequeue to TRUE. But during execution interruptLeadership() will be called from another thread before internalRequeue() completed its work. Then it will break recursive call to internalRequeue(), so that client will not ask for leadership and get stuck.
> We can solve this problem if we check hasLeadership() before calling interruptLeadership(). But it is strange that such check curator library does not do internally.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)