<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:33:02 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-651] New FRM RETRY mechanism for RCP call</title>
                <link>https://jira.opendaylight.org/browse/OPNFLWPLUG-651</link>
                <project id="10155" key="OPNFLWPLUG">OpenFlowPlugin</project>
                    <description>&lt;p&gt;New FRM calculates the delta between the config modifications. It would not work correctly without retries in negative scenario. We expect that we need to improve FRM while testing&amp;amp;debugging &lt;a href=&quot;https://bugs.opendaylight.org/show_bug.cgi?id=5576&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://bugs.opendaylight.org/show_bug.cgi?id=5576&lt;/a&gt;.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="27919">OPNFLWPLUG-651</key>
            <summary>New FRM RETRY mechanism for RCP call</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="batky">Jozef Bacigal</assignee>
                                    <reporter username="jozef.slezak@pantheon.sk">Jozef Slez&#225;k</reporter>
                        <labels>
                    </labels>
                <created>Tue, 22 Mar 2016 08:52:16 +0000</created>
                <updated>Mon, 27 Sep 2021 09:01:46 +0000</updated>
                            <resolved>Tue, 21 Jun 2016 09:12:50 +0000</resolved>
                                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="57726" author="vishnoianil@gmail.com" created="Tue, 22 Mar 2016 18:22:58 +0000"  >&lt;p&gt;Hi Jozef,&lt;/p&gt;

&lt;p&gt;Where is this new FRM sitting? Can you please explain what this new FRM is doing different then the existing FRM and what&apos;s the need for having new FRM and not modifying the existing one ?&lt;/p&gt;</comment>
                            <comment id="57727" author="jozef.slezak@pantheon.sk" created="Thu, 7 Apr 2016 12:58:05 +0000"  >&lt;p&gt;@Anil Vishnoi, there are several advantages of new FRM but the main are:&lt;br/&gt;
1/ when switch is connected to the Controller then Mark&amp;amp;Sweep will be done. It means add missing flows/groups/meters, update and after that remove.&lt;br/&gt;
2/ there are automatic barriers between dependent objects (flow -&amp;gt; group, group -&amp;gt; group...)&lt;br/&gt;
3/ state compression while writing to the switch (on per switch granularity)&lt;/p&gt;</comment>
                            <comment id="57728" author="shuva.jyoti.kar.87@gmail.com" created="Wed, 11 May 2016 15:20:14 +0000"  >&lt;p&gt;will not adding barriers between dependent objects take a performance hit in case multiple dependent objects in the order of 1000s are being pushed ?&lt;/p&gt;</comment>
                            <comment id="57729" author="andrejleitner" created="Thu, 12 May 2016 16:22:46 +0000"  >&lt;p&gt;Hi Shuva, &lt;br/&gt;
as there must be barriers between dependent objects anyway, it is about trade-off between traffic and latency.&lt;/p&gt;

&lt;p&gt;We can wait for implicit barrier (or gathered statistics) which stands for lower traffic but higher latency. Or we can send explicit barrier which causes higher traffic but lower latency. The second approach seems more reasonable to me.&lt;/p&gt;

&lt;p&gt;In addition, we would like to continue with optimization in new FRM and don&apos;t wait for barriers in requests where it&apos;s not necessary.&lt;/p&gt;</comment>
                            <comment id="57730" author="andrejleitner" created="Mon, 6 Jun 2016 07:10:28 +0000"  >&lt;p&gt;gerrit: &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/39309/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/39309/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="57731" author="vishnoianil@gmail.com" created="Mon, 6 Jun 2016 23:35:58 +0000"  >&lt;p&gt;Hi Andrej,&lt;/p&gt;

&lt;p&gt;I can&apos;t access this gerrit for some reason.&lt;/p&gt;

&lt;p&gt;Thanks&lt;br/&gt;
Anil&lt;/p&gt;</comment>
                            <comment id="57732" author="vishnoianil@gmail.com" created="Mon, 6 Jun 2016 23:38:17 +0000"  >&lt;p&gt;As per my understanding this new implementation is going to clean up the switch and write all the configuration (flow/group/meter) back when switch connects. How do you handle a situation where flows have specific timeout and they expired when switch was disconnected from the controller. With the current approach, whenever switch will connect  back to the controller, it will install the flow again on the switch, which actually is not a correct behavior.&lt;/p&gt;</comment>
                            <comment id="57733" author="andrejleitner" created="Mon, 13 Jun 2016 10:47:07 +0000"  >&lt;p&gt;Hi Anil,&lt;br/&gt;
it will not clean up the switch by default. Actually, reconciliation with actual config will be done (on device contected). See also &lt;a href=&quot;https://jira.opendaylight.org/browse/OPNFLWPLUG-692&quot; title=&quot;FR-sync - Improve FRM reconciliation - do not wipe out device when it is not configured&quot; class=&quot;issue-link&quot; data-issue-key=&quot;OPNFLWPLUG-692&quot;&gt;&lt;del&gt;OPNFLWPLUG-692&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="57734" author="vishnoianil@gmail.com" created="Tue, 14 Jun 2016 07:01:49 +0000"  >&lt;p&gt;Hi Andrej,&lt;/p&gt;

&lt;p&gt;I looked at the &lt;a href=&quot;https://jira.opendaylight.org/browse/OPNFLWPLUG-692&quot; title=&quot;FR-sync - Improve FRM reconciliation - do not wipe out device when it is not configured&quot; class=&quot;issue-link&quot; data-issue-key=&quot;OPNFLWPLUG-692&quot;&gt;&lt;del&gt;OPNFLWPLUG-692&lt;/del&gt;&lt;/a&gt; but didn&apos;t get the clarity about what new FRM will do in case of the scenario i mentioned in above comment.Let me know if this scenario is not clear to you.&lt;/p&gt;</comment>
                            <comment id="57735" author="muthukumaran.k@ericsson.com" created="Tue, 14 Jun 2016 07:36:02 +0000"  >&lt;p&gt;HI Andrej, &lt;/p&gt;

&lt;p&gt;You have mentioned that that the new FRM will use barriers between dependent objects. But, how would the dependent objects be detected ? By doing &quot;full scan of datastore&quot; ?&lt;/p&gt;</comment>
                            <comment id="57736" author="andrejleitner" created="Thu, 16 Jun 2016 13:33:30 +0000"  >&lt;p&gt;@Anil&lt;br/&gt;
Scenario is clear, unfortunately it is not related to retry mechanism. Retry should start when config change failed and enforce reconciliation (syncup) with recent config against operational data. &lt;br/&gt;
Ad your scenario - AFAIK, it is not in the scope of new or actual FRM to keep track of flow timeouts in case of device disconnection. From my point of view, user should look after these flows. If we would try to address all details like this, we will have clever but at the same time much more complicated and complex app.&lt;/p&gt;

&lt;p&gt;@Muthukumaran&lt;br/&gt;
FR-sync is now using SalFlatBatchService from OFP which works with the list of batches of changes with the same type (F/G/M - A/U/R). This service decides in the process of assembling batch plan if barrier is needed before next (actually after previous) plan step or not. If yes, it is marked in plan step, then batch chain is prepared and executed. Check SalFlatBatchServiceImpl, FlatBatchUtil, etc. in openflowplugin-impl.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                                                <inwardlinks description="is blocked by">
                                        <issuelink>
            <issuekey id="27917">OPNFLWPLUG-649</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="27941">OPNFLWPLUG-673</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_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5577</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=5577]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10204" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>ODL SR Target Milestone</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10339"><![CDATA[Boron-M4]]></customfieldvalue>

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

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