<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:32:58 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-630] Li plugin: Scalability issues with OVS 2.4</title>
                <link>https://jira.opendaylight.org/browse/OPNFLWPLUG-630</link>
                <project id="10155" key="OPNFLWPLUG">OpenFlowPlugin</project>
                    <description>&lt;p&gt;While performing scalability test against OpenFlowPlugin codebase, stable/lithium branch, -li plugin, with statistics collection enable, I encounter the following issue:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;OvS 2.3.x or previous version:&lt;br/&gt;
Scalability seems fine, or at least goes up to 400+ switches.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;OvS 2.4.x or newer version:&lt;br/&gt;
Scalability is capped around 45-50 switches. &lt;br/&gt;
At the tipping point, switches close the connection then send hello message. As ODL is in bad shape at this time, ODL goes in a crazy loop where it tries to reestablish the connection for all switches, one by one, but failed. This was ending in OOM error.&lt;br/&gt;
This crazy loop behaviour was recently fixed with Bug-4957; now, at the tipping point, ODL goes crazy for a bit then recovers and stabilizes, although all switches are disconnected and no more connection is possible.&lt;br/&gt;
Here are some logs, and a Yourkit Java Profiler snapshot: &lt;a href=&quot;https://www.dropbox.com/sh/1zz1x6i1bl5uor8/AACHJfML-RqvOk7vFI5U-haJa?dl=0&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://www.dropbox.com/sh/1zz1x6i1bl5uor8/AACHJfML-RqvOk7vFI5U-haJa?dl=0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I will setup tests in ODL infra to track progress, and to know better about scalability performance. Work started here: &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/35813/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/35813/&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="27898">OPNFLWPLUG-630</key>
            <summary>Li plugin: Scalability issues with OVS 2.4</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="adetalhouet">Alexis de Talhou&#235;t</assignee>
                                    <reporter username="adetalhouet">Alexis de Talhou&#235;t</reporter>
                        <labels>
                    </labels>
                <created>Fri, 4 Mar 2016 15:32:18 +0000</created>
                <updated>Mon, 27 Sep 2021 09:01:44 +0000</updated>
                            <resolved>Thu, 30 Jun 2016 13:25:17 +0000</resolved>
                                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="57654" author="jozef.bacigal@pantheon.tech" created="Wed, 16 Mar 2016 14:54:48 +0000"  >&lt;p&gt;Alexis please can you explain what exactly means &quot;ODL goes crazy a bit&quot;, can you point me for the exact part of the log ? Thank you.&lt;/p&gt;

&lt;p&gt;Jozef&lt;/p&gt;</comment>
                            <comment id="57655" author="adetalhouet" created="Wed, 16 Mar 2016 14:59:33 +0000"  >&lt;p&gt;Jozef, please read this mail I send a while now: &lt;a href=&quot;https://lists.opendaylight.org/pipermail/openflowplugin-dev/2016-February/004631.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://lists.opendaylight.org/pipermail/openflowplugin-dev/2016-February/004631.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I know the behavior has changed a bit since a lot of code came in to stabilize transaction/role/etc... &lt;/p&gt;

&lt;p&gt;Also it pretty easy to reproduce, I have create a patch in intergration test with all the Dockerfile, scripts I&apos;ve been using to create the scale testbed.&lt;/p&gt;

&lt;p&gt;I shall reproduce it with current codebase by the end of the week if you want to.&lt;/p&gt;

&lt;p&gt;Thanks,&lt;br/&gt;
Alexis&lt;/p&gt;</comment>
                            <comment id="57656" author="ecelgp" created="Wed, 16 Mar 2016 23:23:47 +0000"  >&lt;p&gt;This bug is actually very easy to reproduce with OVS 2.4:&lt;/p&gt;

&lt;p&gt;1) Download latest ODL Be from Nexus&lt;br/&gt;
2) Start He or Li plugin (I think issue is on both)&lt;br/&gt;
3) Start mininet tree,4 (this is not even a large topology)&lt;br/&gt;
4) CPU goes crazy but there is also memory leak&lt;/p&gt;

&lt;p&gt;&amp;gt;OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000007b5c00000, 95944704, 0) failed; error=&apos;Cannot allocate memory&apos; (errno=12)&lt;br/&gt;
#&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;There is insufficient memory for the Java Runtime Environment to continue.&lt;/li&gt;
	&lt;li&gt;Native memory allocation (malloc) failed to allocate 95944704 bytes for committing reserved memory.&lt;/li&gt;
	&lt;li&gt;An error report file with more information is saved as:&lt;/li&gt;
	&lt;li&gt;/home/mininet/controller-master/distribution-karaf-0.4.1-SNAPSHOT/hs_err_pid18041.log&lt;/li&gt;
&lt;/ol&gt;
</comment>
                            <comment id="57657" author="adetalhouet" created="Thu, 17 Mar 2016 21:04:33 +0000"  >&lt;p&gt;So I analyzed what is going on:&lt;/p&gt;

&lt;p&gt;OvS has a inactivity probe timeout that by default is 5 second &lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt;. If in the period of 2 * inactivity probe (10 second by default) the switch doesn&apos;t hear from the controller (ECHO_REQUEST, or whatever message in fact), the switch will send a disconnected request. &lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;&lt;br/&gt;
So under a certain load, ODL is not able to process all switches in this given timeout &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/star_yellow.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;, thus receive disconnected event followed by hello message from switches.&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/star_yellow.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; wondering if this has something to do with the HashedWheelTimer from the DeviceManagerImpl class: &lt;a href=&quot;https://github.com/opendaylight/openflowplugin/blob/stable/lithium/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/device/DeviceManagerImpl.java#l81&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/opendaylight/openflowplugin/blob/stable/lithium/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/device/DeviceManagerImpl.java#l81&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt;&lt;br/&gt;
Logic to initialize inactivity timer value for a specific bridge from ovsdb content.&lt;br/&gt;
&lt;a href=&quot;https://github.com/openvswitch/ovs/blob/master/vswitchd/bridge.c#L3415&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/openvswitch/ovs/blob/master/vswitchd/bridge.c#L3415&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;&lt;br/&gt;
Logic to handle no response from inactivity probe&lt;br/&gt;
&lt;a href=&quot;https://github.com/openvswitch/ovs/blob/master/lib/rconn.c#L559-L560&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/openvswitch/ovs/blob/master/lib/rconn.c#L559-L560&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="57658" author="ecelgp" created="Mon, 21 Mar 2016 02:05:41 +0000"  >&lt;p&gt;Updating bug title to reflect issue only happens in Li plugin.&lt;/p&gt;</comment>
                            <comment id="57659" author="jozef.bacigal@pantheon.tech" created="Mon, 21 Mar 2016 15:52:13 +0000"  >&lt;p&gt;We were talking wint Michal Rehak and there is really a huge amount of data and huge load on DS with table features. With this possibility to switch off table features was running locally on my mininet all smoothly with 127 switches. &lt;/p&gt;

&lt;p&gt;I would appreciate when someone will test it properly with this patch:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/36506/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/36506/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is anyway a workaround, but we can provide it into SR1. &lt;/p&gt;

&lt;p&gt;If I am not mistaken, everyone can still use RPC for table feature request.&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;

&lt;p&gt;Jozef&lt;/p&gt;</comment>
                            <comment id="57660" author="adetalhouet" created="Tue, 22 Mar 2016 15:47:59 +0000"  >&lt;p&gt;Jozeph,&lt;/p&gt;

&lt;p&gt;I confirmed this increase the scalability of the OFP-lithium. In fact this is the workaround I did for my app.&lt;br/&gt;
One question though, would it make sense to make all the features configurable through config subsystem? &lt;br/&gt;
I sent a mail couple of weeks ago proposing to do that, but got few reply: &lt;a href=&quot;https://lists.opendaylight.org/pipermail/openflowplugin-dev/2016-March/004769.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://lists.opendaylight.org/pipermail/openflowplugin-dev/2016-March/004769.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Would you mind amending this patch so one can define what features he wants? This would be great! Else I can do it, if you agree it makes sense.&lt;/p&gt;

&lt;p&gt;Thanks,&lt;br/&gt;
Alexis&lt;/p&gt;</comment>
                            <comment id="57661" author="jozef.bacigal@pantheon.tech" created="Wed, 23 Mar 2016 13:58:33 +0000"  >&lt;p&gt;Hi Alexis, &lt;/p&gt;

&lt;p&gt;I don&apos;t think to have &quot;all&quot; features configurable it such a good idea, as you have more possibility something to set or change then you get more wrong settings and more problems and question about how to properly set. &lt;/p&gt;

&lt;p&gt;I would be wise to let configurable features to hold on minimum.&lt;/p&gt;

&lt;p&gt;Jozef&lt;/p&gt;</comment>
                            <comment id="57662" author="mirehak@cisco.com" created="Tue, 5 Apr 2016 17:02:34 +0000"  >&lt;p&gt;Hi all,&lt;br/&gt;
this is more like fix then workaround: &lt;br/&gt;
&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/36559&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/36559&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here table-features got moved outside table in order not to put additional heavy load on statistic updates.&lt;/p&gt;

&lt;p&gt;Trade off is that downstream apps would need to adapt their instance-identifiers to table features (I checked NIC and DIDM - both are reading table-features).&lt;/p&gt;

&lt;p&gt;Positive by this fix is that no exclusive flag in config is needed and projects like NIC/DIDM can still coexist beside other - &quot;table-features free&quot; projects.&lt;/p&gt;

&lt;p&gt;So please test this change. Thank you.&lt;/p&gt;</comment>
                            <comment id="57663" author="ecelgp" created="Tue, 5 Apr 2016 21:28:25 +0000"  >&lt;p&gt;I like this solution better than the config workaround. One of the reasons is we do not want to ask users to set special configuration to run perf/scale tests, perf/scale should be good out-of-the-box.&lt;/p&gt;

&lt;p&gt;BR/Luis&lt;/p&gt;</comment>
                            <comment id="57664" author="hideyuki.tai@necam.com" created="Fri, 20 May 2016 22:54:06 +0000"  >&lt;p&gt;Hi all,&lt;/p&gt;

&lt;p&gt;I&apos;ve found out that the patch for the &lt;a href=&quot;https://jira.opendaylight.org/browse/OPNFLWPLUG-630&quot; title=&quot;Li plugin: Scalability issues with OVS 2.4&quot; class=&quot;issue-link&quot; data-issue-key=&quot;OPNFLWPLUG-630&quot;&gt;&lt;del&gt;OPNFLWPLUG-630&lt;/del&gt;&lt;/a&gt; has been already merged.&lt;br/&gt;
&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/36559/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/36559/&lt;/a&gt;&lt;br/&gt;
That patch changes the model.&lt;/p&gt;

&lt;p&gt;In the result, it has broken NIC project&apos;s build.&lt;br/&gt;
The build on the master branch of the NIC project contentiously fails since May 13.&lt;br/&gt;
&lt;a href=&quot;https://jenkins.opendaylight.org/releng/view/nic/job/nic-integration-boron/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://jenkins.opendaylight.org/releng/view/nic/job/nic-integration-boron/&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;I think we should notify downstream projects of any model changes before we merge the patch for model changes.&lt;/p&gt;</comment>
                            <comment id="57665" author="jozef.bacigal@pantheon.tech" created="Mon, 23 May 2016 10:40:11 +0000"  >&lt;p&gt;Hideyuki we were talking about it a lot and second its a long time that nobody from NIC has noticed that NIC is broken &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/wink.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; &lt;/p&gt;

&lt;p&gt;Here is link &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://lists.opendaylight.org/pipermail/openflowplugin-dev/2016-May/005123.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://lists.opendaylight.org/pipermail/openflowplugin-dev/2016-May/005123.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;where we were talked about it, &lt;/p&gt;

&lt;p&gt;if we wait to long when anyone give us feedback we would still be waiting for someone. &lt;/p&gt;

&lt;p&gt;PEACE &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;

&lt;p&gt;Jozef&lt;/p&gt;

&lt;p&gt;P.S.: Sorry to cause you problem, but I really though we all agreed to merge the changes onto master.&lt;/p&gt;</comment>
                            <comment id="57666" author="hideyuki.tai@necam.com" created="Mon, 23 May 2016 16:01:40 +0000"  >&lt;p&gt;(In reply to Jozef Bacigal from comment #12)&lt;br/&gt;
&amp;gt; Hideyuki we were talking about it a lot and second its a long time that&lt;br/&gt;
&amp;gt; nobody from NIC has noticed that NIC is broken &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/wink.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; &lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; Here is link &lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; &lt;a href=&quot;https://lists.opendaylight.org/pipermail/openflowplugin-dev/2016-May/005123&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://lists.opendaylight.org/pipermail/openflowplugin-dev/2016-May/005123&lt;/a&gt;.&lt;br/&gt;
&amp;gt; html&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; where we were talked about it, &lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; if we wait to long when anyone give us feedback we would still be waiting&lt;br/&gt;
&amp;gt; for someone. &lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; PEACE &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; Jozef&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; P.S.: Sorry to cause you problem, but I really though we all agreed to merge&lt;br/&gt;
&amp;gt; the changes onto master.&lt;/p&gt;

&lt;p&gt;Yeah, it&apos;s quite weird that nobody in the NIC project was aware of that build failure for a long time &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;

&lt;p&gt;And, I&apos;m sorry I was not aware you guys talked about it a lot before the merge.&lt;/p&gt;

&lt;p&gt;Thanks!&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>5464</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=5464]]></customfieldvalue>

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

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

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

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