<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:05:43 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>[L2SWITCH-22] Out of memory error when l2 switch installed</title>
                <link>https://jira.opendaylight.org/browse/L2SWITCH-22</link>
                <project id="10134" key="L2SWITCH">l2switch</project>
                    <description>&lt;p&gt;Out of memory error is observed when l2switch is installed and flows are being added to the controller through the REST API. The out of memory condition seems to be related to the PS Survivor space (see attached jconsole snapshot). The exception message observed last was as follows (but it can vary):&lt;/p&gt;

&lt;p&gt;objc&lt;span class=&quot;error&quot;&gt;&amp;#91;2718&amp;#93;&lt;/span&gt;: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_65.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.7.0_65.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined.&lt;br/&gt;
Exception in thread &quot;DOM-OPER-DCL-77&quot; java.lang.OutOfMemoryError: unable to create new native thread&lt;br/&gt;
	at java.lang.Thread.start0(Native Method)&lt;br/&gt;
	at java.lang.Thread.start(Thread.java:714)&lt;br/&gt;
	at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:949)&lt;br/&gt;
	at java.util.concurrent.ThreadPoolExecutor.processWorkerExit(ThreadPoolExecutor.java:1017)&lt;br/&gt;
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1163)&lt;br/&gt;
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)&lt;br/&gt;
	at java.lang.Thread.run(Thread.java:745)&lt;/p&gt;


&lt;p&gt;To reproduce:&lt;br/&gt;
1. Get the RC2 image distribution-karaf-0.2.0-Helium-RC2-verify-v201409250627&lt;/p&gt;

&lt;p&gt;2. Install features as shown below (basically, openflow and l2switch)&lt;/p&gt;

&lt;p&gt;3. Run the attached python scripts to generate/ clear flows until the &lt;br/&gt;
   out of memory issue occurs:&lt;br/&gt;
   3.1 &amp;gt;  python flow_config_perf.py --nflows=200 --nthreads=10 --ncycles=10 --no-delete --auth&lt;/p&gt;

&lt;p&gt;   3.2 Wait until 20000 flows show up in the operational data space. Use: &lt;br/&gt;
       &amp;gt; python inventory_crawler.py --plevel=2 --auth&lt;/p&gt;

&lt;p&gt;   3.3 clear the flows from the controller:&lt;br/&gt;
       &amp;gt; python config_cleanup.py --auth&lt;/p&gt;

&lt;p&gt;   3.4 Repeat until the out of memory condition occurs&lt;/p&gt;





&lt;p&gt;Installed features:&lt;/p&gt;

&lt;p&gt;tandard                         | 3.0.1                                 | x         | standard-3.0.1                                               | Karaf standard feature                            &lt;br/&gt;
config                           | 3.0.1                                 | x         | standard-3.0.1                                               | Provide OSGi ConfigAdmin support                  &lt;br/&gt;
package                          | 3.0.1                                 | x         | standard-3.0.1                                               | Package commands and mbeans                       &lt;br/&gt;
http                             | 3.0.1                                 | x         | standard-3.0.1                                               | Implementation of the OSGI HTTP Service           &lt;br/&gt;
war                              | 3.0.1                                 | x         | standard-3.0.1                                               | Turn Karaf as a full WebContainer                 &lt;br/&gt;
kar                              | 3.0.1                                 | x         | standard-3.0.1                                               | Provide KAR (KARaf archive) support               &lt;br/&gt;
ssh                              | 3.0.1                                 | x         | standard-3.0.1                                               | Provide a SSHd server on Karaf                    &lt;br/&gt;
management                       | 3.0.1                                 | x         | standard-3.0.1                                               | Provide a JMX MBeanServer and a set of MBeans in K&lt;br/&gt;
odl-netconf-api                  | 0.2.5-Helium-RC2-verify-v201409250627 | x         | odl-netconf-0.2.5-Helium-RC2-verify-v201409250627            | OpenDaylight :: Netconf :: API                    &lt;br/&gt;
odl-netconf-mapping-api          | 0.2.5-Helium-RC2-verify-v201409250627 | x         | odl-netconf-0.2.5-Helium-RC2-verify-v201409250627            | OpenDaylight :: Netconf :: Mapping API            &lt;br/&gt;
odl-netconf-util                 | 0.2.5-Helium-RC2-verify-v201409250627 | x         | odl-netconf-0.2.5-Helium-RC2-verify-v201409250627            |                                                   &lt;br/&gt;
odl-netconf-impl                 | 0.2.5-Helium-RC2-verify-v201409250627 | x         | odl-netconf-0.2.5-Helium-RC2-verify-v201409250627            | OpenDaylight :: Netconf :: Impl                   &lt;br/&gt;
odl-config-netconf-connector     | 0.2.5-Helium-RC2-verify-v201409250627 | x         | odl-netconf-0.2.5-Helium-RC2-verify-v201409250627            | OpenDaylight :: Netconf :: Connector              &lt;br/&gt;
odl-netconf-netty-util           | 0.2.5-Helium-RC2-verify-v201409250627 | x         | odl-netconf-0.2.5-Helium-RC2-verify-v201409250627            | OpenDaylight :: Netconf :: Netty Util             &lt;br/&gt;
odl-netconf-monitoring           | 0.2.5-Helium-RC2-verify-v201409250627 | x         | odl-netconf-0.2.5-Helium-RC2-verify-v201409250627            | OpenDaylight :: Netconf :: Monitoring             &lt;br/&gt;
odl-yangtools-models             | 0.6.2-Helium-RC2-verify-v201409250627 | x         | odl-yangtools-0.6.2-Helium-RC2-verify-v201409250627          | OpenDaylight :: Yangtools :: Models               &lt;br/&gt;
odl-yangtools-data-binding       | 0.6.2-Helium-RC2-verify-v201409250627 | x         | odl-yangtools-0.6.2-Helium-RC2-verify-v201409250627          | OpenDaylight :: Yangtools :: Data Binding         &lt;br/&gt;
odl-yangtools-binding            | 0.6.2-Helium-RC2-verify-v201409250627 | x         | odl-yangtools-0.6.2-Helium-RC2-verify-v201409250627          | OpenDaylight :: Yangtools :: Binding              &lt;br/&gt;
odl-yangtools-common             | 0.6.2-Helium-RC2-verify-v201409250627 | x         | odl-yangtools-0.6.2-Helium-RC2-verify-v201409250627          | OpenDaylight :: Yangtools :: Common               &lt;br/&gt;
odl-yangtools-binding-generator  | 0.6.2-Helium-RC2-verify-v201409250627 | x         | odl-yangtools-0.6.2-Helium-RC2-verify-v201409250627          | OpenDaylight :: Yangtools :: Binding Generator    &lt;br/&gt;
odl-config-persister             | 0.2.5-Helium-RC2-verify-v201409250627 | x         | odl-config-persister-0.2.5-Helium-RC2-verify-v201409250627   | OpenDaylight :: Config Persister                  &lt;br/&gt;
odl-config-startup               | 0.2.5-Helium-RC2-verify-v201409250627 | x         | odl-config-persister-0.2.5-Helium-RC2-verify-v201409250627   | OpenDaylight :: Config Persister:: Config Startup &lt;br/&gt;
odl-mdsal-common                 | 1.1-Helium-RC2-verify-v201409250627   | x         | odl-config-0.2.5-Helium-RC2-verify-v201409250627             | OpenDaylight :: Config :: All                     &lt;br/&gt;
odl-config-api                   | 0.2.5-Helium-RC2-verify-v201409250627 | x         | odl-config-0.2.5-Helium-RC2-verify-v201409250627             | OpenDaylight :: Config :: API                     &lt;br/&gt;
odl-config-netty-config-api      | 0.2.5-Helium-RC2-verify-v201409250627 | x         | odl-config-0.2.5-Helium-RC2-verify-v201409250627             | OpenDaylight :: Config :: Netty Config API        &lt;br/&gt;
odl-config-core                  | 0.2.5-Helium-RC2-verify-v201409250627 | x         | odl-config-0.2.5-Helium-RC2-verify-v201409250627             | OpenDaylight :: Config :: Core                    &lt;br/&gt;
odl-config-manager               | 0.2.5-Helium-RC2-verify-v201409250627 | x         | odl-config-0.2.5-Helium-RC2-verify-v201409250627             | OpenDaylight :: Config :: Manager                 &lt;br/&gt;
odl-l2switch-switch              | 0.1.0-Helium-RC2-verify-v201409250627 | x         | l2switch-0.1.0-Helium-RC2-verify-v201409250627               | OpenDaylight :: L2Switch :: Switch                &lt;br/&gt;
odl-l2switch-hosttracker         | 0.1.0-Helium-RC2-verify-v201409250627 | x         | l2switch-0.1.0-Helium-RC2-verify-v201409250627               | OpenDaylight :: L2Switch :: HostTracker           &lt;br/&gt;
odl-l2switch-addresstracker      | 0.1.0-Helium-RC2-verify-v201409250627 | x         | l2switch-0.1.0-Helium-RC2-verify-v201409250627               | OpenDaylight :: L2Switch :: AddressTracker        &lt;br/&gt;
odl-l2switch-arphandler          | 0.1.0-Helium-RC2-verify-v201409250627 | x         | l2switch-0.1.0-Helium-RC2-verify-v201409250627               | OpenDaylight :: L2Switch :: ArpHandler            &lt;br/&gt;
odl-l2switch-loopremover         | 0.1.0-Helium-RC2-verify-v201409250627 | x         | l2switch-0.1.0-Helium-RC2-verify-v201409250627               | OpenDaylight :: L2Switch :: LoopRemover           &lt;br/&gt;
odl-l2switch-packethandler       | 0.1.0-Helium-RC2-verify-v201409250627 | x         | l2switch-0.1.0-Helium-RC2-verify-v201409250627               | OpenDaylight :: L2Switch :: PacketHandler         &lt;br/&gt;
odl-openflowjava-protocol        | 0.5-Helium-RC2-verify-v201409250627   | x         | odl-openflowjava-0.5-Helium-RC2-verify-v201409250627         | OpenDaylight :: Openflow Java :: Protocol         &lt;br/&gt;
odl-restconf                     | 1.1-Helium-RC2-verify-v201409250627   | x         | odl-controller-1.1-Helium-RC2-verify-v201409250627           | OpenDaylight :: Restconf                          &lt;br/&gt;
odl-restconf-noauth              | 1.1-Helium-RC2-verify-v201409250627   | x         | odl-controller-1.1-Helium-RC2-verify-v201409250627           | OpenDaylight :: Restconf                          &lt;br/&gt;
odl-config-netty                 | 0.2.5-Helium-RC2-verify-v201409250627 | x         | odl-config-persister-0.2.5-Helium-RC2-verify-v201409250627   | OpenDaylight :: Config-Netty                      &lt;br/&gt;
odl-flow-model                   | 1.1-Helium-RC2-verify-v201409250627   | x         | odl-flow-1.1-Helium-RC2-verify-v201409250627                 | OpenDaylight :: Flow :: Model                     &lt;br/&gt;
odl-flow-services                | 1.1-Helium-RC2-verify-v201409250627   | x         | odl-flow-1.1-Helium-RC2-verify-v201409250627                 | OpenDaylight :: Flow :: Services                  &lt;br/&gt;
odl-protocol-framework           | 0.5.0-Helium-RC2-verify-v201409250627 | x         | odl-protocol-framework-0.5.0-Helium-RC2-verify-v201409250627 | OpenDaylight :: Protocol Framework                &lt;br/&gt;
odl-aaa-authn                    | 0.1.0-Helium-RC2-verify-v201409250627 | x         | odl-aaa-0.1.0-Helium-RC2-verify-v201409250627                | OpenDaylight :: AAA :: Authentication             &lt;br/&gt;
odl-openflowplugin-southbound    | 0.0.3-Helium-RC2-verify-v201409250627 | x         | openflowplugin-0.0.3-Helium-RC2-verify-v201409250627         | OpenDaylight :: Openflow Plugin :: SouthBound     &lt;br/&gt;
odl-openflowplugin-flow-services | 0.0.3-Helium-RC2-verify-v201409250627 | x         | openflowplugin-0.0.3-Helium-RC2-verify-v201409250627         | OpenDaylight :: Openflow Plugin :: Flow Services  &lt;br/&gt;
odl-openflowplugin-drop-test     | 0.0.3-Helium-RC2-verify-v201409250627 | x         | openflowplugin-0.0.3-Helium-RC2-verify-v201409250627         | OpenDaylight :: Openflow Plugin :: Drop Test      &lt;br/&gt;
pax-jetty                        | 8.1.14.v20131031                      | x         | org.ops4j.pax.web-3.1.0                                      | Provide Jetty engine support                      &lt;br/&gt;
pax-http                         | 3.1.0                                 | x         | org.ops4j.pax.web-3.1.0                                      | Implementation of the OSGI HTTP Service           &lt;br/&gt;
pax-http-whiteboard              | 3.1.0                                 | x         | org.ops4j.pax.web-3.1.0                                      | Provide HTTP Whiteboard pattern support           &lt;br/&gt;
pax-war                          | 3.1.0                                 | x         | org.ops4j.pax.web-3.1.0                                      | Provide support of a full WebContainer            &lt;br/&gt;
odl-mdsal-broker                 | 1.1-Helium-RC2-verify-v201409250627   | x         | odl-mdsal-1.1-Helium-RC2-verify-v201409250627                | OpenDaylight :: MDSAL :: Broker&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="21535">L2SWITCH-22</key>
            <summary>Out of memory error when l2 switch installed</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="ammandke@cisco.com">Amit Mandke</assignee>
                                    <reporter username="jmedved@cisco.com">Jan Medved</reporter>
                        <labels>
                    </labels>
                <created>Sat, 27 Sep 2014 05:45:16 +0000</created>
                <updated>Sun, 28 Sep 2014 22:21:20 +0000</updated>
                            <resolved>Sun, 28 Sep 2014 22:21:20 +0000</resolved>
                                    <version>unspecified</version>
                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="40282" author="jmedved@cisco.com" created="Sat, 27 Sep 2014 05:45:16 +0000"  >&lt;p&gt;Attachment log.zip has been added with description: logs&lt;/p&gt;</comment>
                            <comment id="40283" author="jmedved@cisco.com" created="Sat, 27 Sep 2014 05:46:03 +0000"  >&lt;p&gt;Attachment sfc-restconf-test.zip has been added with description: Python utilities to reproduce the bug&lt;/p&gt;</comment>
                            <comment id="40284" author="jmedved@cisco.com" created="Sat, 27 Sep 2014 06:04:01 +0000"  >&lt;p&gt;Attachment bin.tar.gz has been added with description: Mininet flow check scripts&lt;/p&gt;</comment>
                            <comment id="40278" author="tony.tkacik@gmail.com" created="Sat, 27 Sep 2014 07:32:26 +0000"  >&lt;p&gt;L2Switch is allocating new ThreadPoolExecutor (with thread count which equals to number of CPU count) for each data event to process and submit only one new task.&lt;/p&gt;

&lt;p&gt;L2Switch could do processing in data change callback instead of allocating threadpool.&lt;/p&gt;

&lt;p&gt;In Jan case there is lot of data change events happening, which could lead to&lt;br/&gt;
allocating lot of threads which are unused and only consumes memory.&lt;/p&gt;</comment>
                            <comment id="40279" author="tony.tkacik@gmail.com" created="Sat, 27 Sep 2014 14:52:32 +0000"  >&lt;p&gt;I tested it, and really L2Switch code base allocates new threadpool on each data change event. This threadpools are not shutdown, so they stay in background consuming&lt;br/&gt;
resources.&lt;/p&gt;

&lt;p&gt;The count of allocated threads increases over time (64 nodes topolofy, no traffic) it is 5000 thread started per hour, count is not decreasing. All threads belong to unnamed threadpool.&lt;/p&gt;</comment>
                            <comment id="40280" author="colin@colindixon.com" created="Sun, 28 Sep 2014 20:48:21 +0000"  >&lt;p&gt;Fixed by: &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/11629/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/11629/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Waiting for confirmation from Jan.&lt;/p&gt;</comment>
                            <comment id="40281" author="jmedved@cisco.com" created="Sun, 28 Sep 2014 22:21:03 +0000"  >&lt;p&gt;I do not see the problem anymore.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="12742" name="bin.tar.gz" size="2104" author="jmedved@cisco.com" created="Sat, 27 Sep 2014 06:04:01 +0000"/>
                            <attachment id="12740" name="log.zip" size="152706" author="jmedved@cisco.com" created="Sat, 27 Sep 2014 05:45:16 +0000"/>
                            <attachment id="12741" name="sfc-restconf-test.zip" size="63922" author="jmedved@cisco.com" created="Sat, 27 Sep 2014 05:46:03 +0000"/>
                    </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>2104</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=2104]]></customfieldvalue>

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

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