<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:33:31 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>[OPNFLWPLUG-841] Openflow plugin loses flow statistics</title>
                <link>https://jira.opendaylight.org/browse/OPNFLWPLUG-841</link>
                <project id="10155" key="OPNFLWPLUG">OpenFlowPlugin</project>
                    <description>&lt;p&gt;When processing statistics responses from switches, the openflow plugin executes in parallel delete old flows and write new flows.  This means flows could be deleted if the delete actions happens after the write action. &lt;/p&gt;

&lt;p&gt;In order to update flow stats, the Openflow plugin makes a request for stats to connected switches.&lt;/p&gt;

&lt;p&gt;When the Openflow plugin receives a response it attempts to update the flow stats in the operational datastore.  The intended logic is as follows:&lt;/p&gt;

&lt;p&gt;1)      Delete existing flows&lt;br/&gt;
2)      Write new flows&lt;/p&gt;


&lt;p&gt;There are two scenarios where there is an issue in the current code:&lt;/p&gt;

&lt;p&gt;1)      Handling the update of stats&lt;/p&gt;

&lt;p&gt;Both the delete and write actions were being executed in the background using &apos;futures&apos;. &lt;br/&gt;
The problem is that it is possible for the thread writing the flows, to execute before the thread which deletes the flows.  The impact of this, is that flows are deleted from the table.  This behaviour is more obvious in a multi-threaded CPU environment, or dual core systems where the threads.&lt;/p&gt;

&lt;p&gt;To fix the issue, the delete operation should not be executed in the background, instead it should be executed by the currently running thread immediately, before creating futures to perform the writes.   This guarantees the order of execution.&lt;/p&gt;

&lt;p&gt;2)      Handling a multi-part response.&lt;/p&gt;

&lt;p&gt;The same logic is used as above.  But in addition, the writes must only be committed once all part of the multi-part have been executed.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="28109">OPNFLWPLUG-841</key>
            <summary>Openflow plugin loses flow statistics</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</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="castro.jon@gmail.com">Jon Castro</assignee>
                                    <reporter username="castro.jon@gmail.com">Jon Castro</reporter>
                        <labels>
                    </labels>
                <created>Tue, 10 Jan 2017 01:56:24 +0000</created>
                <updated>Mon, 27 Sep 2021 09:01:59 +0000</updated>
                            <resolved>Thu, 1 Jun 2017 11:19:45 +0000</resolved>
                                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="58610" author="castro.jon@gmail.com" created="Mon, 30 Jan 2017 02:46:50 +0000"  >&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/50154/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/50154/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="58611" author="tomas.slusny@pantheon.tech" created="Wed, 24 May 2017 07:55:25 +0000"  >&lt;p&gt;Master branch gerrit: &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/53368/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/53368/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="58612" author="tomas.slusny@pantheon.tech" created="Thu, 1 Jun 2017 11:19:45 +0000"  >&lt;p&gt;Patch on master branch was merged, closing.&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>7501</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=7501]]></customfieldvalue>

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

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