<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:55:42 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>OpenDaylight JIRA</title>
    <link>https://jira.opendaylight.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.20.10</version>
        <build-number>820010</build-number>
        <build-date>22-06-2022</build-date>
    </build-info>


<item>
            <title>[CONTROLLER-1495] Prevent Follower from becoming Candidate when Akka Cluster reports Leader as Reachable</title>
                <link>https://jira.opendaylight.org/browse/CONTROLLER-1495</link>
                <project id="10113" key="CONTROLLER">controller</project>
                    <description>&lt;p&gt;Our current Raft implementation which is as per spec relies on simple heartbeats (AppendEntries) to detect if a Leader is still around or not. If the Follower misses &apos;n&apos; heartbeats (configurable) it considers the Leader to be down and becomes a Candidate. Many a times however heartbeats are simply missed because there is a major GC triggered on the Leader which stops the Leader from sending AppendEntries. &lt;/p&gt;

&lt;p&gt;Akka Cluster which uses the Phi Accrual failure detector algorithm is smarter and can take into consideration GC delays when it comes to reporting a cluster member as Reachable/Unreachable. It makes sense to use feedback from Akka cluster to determine if a Follower should switch to Candidate. &lt;/p&gt;

&lt;p&gt;The basic idea is that when an election timeout occurs on the Follower it should check if the Leader is Reachable as per Akka Cluster. If it is it should prevent the Follower from becoming a Candidate and at the same time reschedule the Election timeout. The new election timeout however should be 1/2 (or some other fraction) of the previous election timeouts. This is to ensure that in the case of a situation where Akka reports the Unreachable state just after an election timeout we can trigger a new election fast.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="26049">CONTROLLER-1495</key>
            <summary>Prevent Follower from becoming Candidate when Akka Cluster reports Leader as Reachable</summary>
                <type id="10100" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10310&amp;avatarType=issuetype">Improvement</type>
                                                <status id="5" iconUrl="https://jira.opendaylight.org/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10000">Done</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="moraja@cisco.com">Moiz Raja</reporter>
                        <labels>
                    </labels>
                <created>Wed, 2 Mar 2016 17:11:44 +0000</created>
                <updated>Thu, 19 Oct 2017 21:27:02 +0000</updated>
                            <resolved>Mon, 22 Aug 2016 22:21:37 +0000</resolved>
                                    <version>Beryllium</version>
                                                    <component>clustering</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="51357" author="tpantelis" created="Thu, 3 Mar 2016 22:05:00 +0000"  >&lt;p&gt;This has been on my TODO list for a while. We have to be careful though when we want to force a re-election via an explicit ElectionTimeout message, e.g. for leadership transfer. Of course we could use a separate message for that or a flag.&lt;/p&gt;</comment>
                            <comment id="51358" author="tpantelis" created="Mon, 22 Aug 2016 22:21:37 +0000"  >&lt;p&gt;Patch &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/43755/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/43755/&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_11400" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5450</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10201" key="com.atlassian.jira.plugin.system.customfieldtypes:url">
                        <customfieldname>External issue URL</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[https://bugs.opendaylight.org/show_bug.cgi?id=5450]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10206" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Issue Type</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10305"><![CDATA[Improvement]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i02qxb:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>