<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:56:47 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-1927] Transaction can become stuck in COMMIT_PENDING when a node flaps leader -&gt; follower -&gt; leader</title>
                <link>https://jira.opendaylight.org/browse/CONTROLLER-1927</link>
                <project id="10113" key="CONTROLLER">controller</project>
                    <description>&lt;p&gt;Normally an entry application is as follows:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;leader sends an append entry off to persistence and replicates it to followers&lt;/li&gt;
	&lt;li&gt;leaders creates its ClientRequestTracker&lt;/li&gt;
	&lt;li&gt;when the entry is done with persistence and replication leader moves its commit index&lt;/li&gt;
	&lt;li&gt;part of moving the commit index is sending an ApplyState message which finalizes the entry application in the DataTree&lt;/li&gt;
	&lt;li&gt;The ApplyState determines if a ClientRequestTracker is present and adds an identifier to the ApplyState message if it is.
	&lt;ul&gt;
		&lt;li&gt;This determines the way in which the finalize of the entry application happens in the DataTree.&lt;/li&gt;
		&lt;li&gt;If it is present the entry is applied as if it originated on the leader,&lt;/li&gt;
		&lt;li&gt;if it is not present it is applied as if the node is a follower.&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;The problem is when the leader flaps in a leader -&amp;gt; follower -&amp;gt; leader transition after 2. and before 4.. This would mean that the new leader no longer has the ClientRequestTracker which was created in the previous leader state, which means&lt;br/&gt;
 that when it starts with 5. It will create the ApplyState without an identifier and the entry finishes up the application as if the node is a follower.&lt;/p&gt;

&lt;p&gt;This means that it will be applied without finishCommit which means that the transaction will be forever stuck in COMMIT_PENDING state until the node would be restarted.&lt;/p&gt;</description>
                <environment></environment>
        <key id="32348">CONTROLLER-1927</key>
            <summary>Transaction can become stuck in COMMIT_PENDING when a node flaps leader -&gt; follower -&gt; leader</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="2" iconUrl="https://jira.opendaylight.org/images/icons/priorities/critical.svg">High</priority>
                        <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="tcere">Tomas Cere</assignee>
                                    <reporter username="tcere">Tomas Cere</reporter>
                        <labels>
                    </labels>
                <created>Fri, 17 Jan 2020 12:24:55 +0000</created>
                <updated>Mon, 27 Apr 2020 07:35:55 +0000</updated>
                            <resolved>Mon, 23 Mar 2020 19:21:04 +0000</resolved>
                                    <version>Oxygen SR4</version>
                    <version>Fluorine SR3</version>
                    <version>Sodium SR1</version>
                    <version>Neon SR3</version>
                                    <fixVersion>Sodium SR3</fixVersion>
                    <fixVersion>Magnesium SR1</fixVersion>
                    <fixVersion>2.0.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                    <issuelinks>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="26089">CONTROLLER-1535</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="32369">CONTROLLER-1928</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <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_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i03qvb:</customfieldvalue>

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