<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:34:03 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-1047] NodeConfiguratorImpl JobQueueHandler iterator() causing extensive object allocation</title>
                <link>https://jira.opendaylight.org/browse/OPNFLWPLUG-1047</link>
                <project id="10155" key="OPNFLWPLUG">OpenFlowPlugin</project>
                    <description>&lt;p&gt;I&apos;m looking at a Java Flight Recording obtained from (internal) scale lab testing, , based on Oxygen SR3 code,&#160;and am surprised to find that the biggest &quot;TLAB allocation&quot;, with a huge factor of several magnitudes (4.97 TiB vs. next issue at 86/57/16/15 ... GiB!), is this:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
Iterator java.util.concurrent.ConcurrentHashMap$EntrySetView.iterator()	127113
void org.opendaylight.openflowplugin.applications.frm.nodeconfigurator.NodeConfiguratorImpl$JobQueueHandler.run()	127113
void java.lang.&lt;span class=&quot;code-object&quot;&gt;Thread&lt;/span&gt;.run()	127113&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;I&apos;m not clear how object creation churn, and thus required GC, for a simple iterator() could be reduced, but it seems worth having a closer look at this code.&lt;/p&gt;</description>
                <environment></environment>
        <key id="31016">OPNFLWPLUG-1047</key>
            <summary>NodeConfiguratorImpl JobQueueHandler iterator() causing extensive object allocation</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="1" iconUrl="https://jira.opendaylight.org/images/icons/priorities/blocker.svg">Highest</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="vorburger">Michael Vorburger</assignee>
                                    <reporter username="vorburger">Michael Vorburger</reporter>
                        <labels>
                    </labels>
                <created>Tue, 13 Nov 2018 13:15:42 +0000</created>
                <updated>Wed, 5 Dec 2018 16:33:45 +0000</updated>
                            <resolved>Wed, 5 Dec 2018 16:33:45 +0000</resolved>
                                    <version>Oxygen-SR3</version>
                                    <fixVersion>Oxygen-SR4</fixVersion>
                    <fixVersion>Fluorine-SR2</fixVersion>
                    <fixVersion>Neon</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="65584" author="rovarga" created="Tue, 13 Nov 2018 15:36:16 +0000"  >&lt;p&gt;That code needs to be refactored, because:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;it is a huge busy loop&lt;/li&gt;
	&lt;li&gt;if (shutdown) does not actually shutdown&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="65585" author="rovarga" created="Tue, 13 Nov 2018 15:40:18 +0000"  >&lt;p&gt;Actually, this should be reworked to just use org.opendaylight.yangtools.util.concurrent.QueuedNotificationManager, which deals with the same issue and is known to actually work.&lt;/p&gt;</comment>
                            <comment id="65598" author="vorburger" created="Tue, 13 Nov 2018 18:19:11 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=rovarga&quot; class=&quot;user-hover&quot; rel=&quot;rovarga&quot;&gt;rovarga&lt;/a&gt; Thank You very much for having jumped right on to contributing a fix for this problem!!&lt;/p&gt;</comment>
                            <comment id="65600" author="rovarga" created="Tue, 13 Nov 2018 18:26:14 +0000"  >&lt;p&gt;No problem, I just didn&apos;t want you to go into a rabiit hole. The patch still needs to be verified to behave as needed &#8211; I won&apos;t have time to do that, anybody feel free to pick it up.&lt;/p&gt;</comment>
                            <comment id="65601" author="vorburger" created="Wed, 14 Nov 2018 09:15:33 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=Avishnoi&quot; class=&quot;user-hover&quot; rel=&quot;Avishnoi&quot;&gt;Avishnoi&lt;/a&gt;, or any other active OFP commiters &lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=d.arunprakash%40ericsson.com&quot; class=&quot;user-hover&quot; rel=&quot;d.arunprakash@ericsson.com&quot;&gt;d.arunprakash@ericsson.com&lt;/a&gt; (&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=Arunprakash&quot; class=&quot;user-hover&quot; rel=&quot;Arunprakash&quot;&gt;Arunprakash&lt;/a&gt; ?), &lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=gobinath%40ericsson.com&quot; class=&quot;user-hover&quot; rel=&quot;gobinath@ericsson.com&quot;&gt;gobinath@ericsson.com&lt;/a&gt; (&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=gobinath&quot; class=&quot;user-hover&quot; rel=&quot;gobinath&quot;&gt;gobinath&lt;/a&gt; ?), &lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=hema.gopalkrishnan%40ericsson.com&quot; class=&quot;user-hover&quot; rel=&quot;hema.gopalkrishnan@ericsson.com&quot;&gt;hema.gopalkrishnan@ericsson.com&lt;/a&gt; (&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=Hematg&quot; class=&quot;user-hover&quot; rel=&quot;Hematg&quot;&gt;Hematg&lt;/a&gt; ?), &lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=pp.prasana%40gmail.com&quot; class=&quot;user-hover&quot; rel=&quot;pp.prasana@gmail.com&quot;&gt;pp.prasana@gmail.com&lt;/a&gt;, &lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=shuva.jyoti.kar.87%40gmail.com&quot; class=&quot;user-hover&quot; rel=&quot;shuva.jyoti.kar.87@gmail.com&quot;&gt;shuva.jyoti.kar.87@gmail.com&lt;/a&gt; (&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=SHUVA+JYOTI+KAR&quot; class=&quot;user-hover&quot; rel=&quot;SHUVA JYOTI KAR&quot;&gt;SHUVA JYOTI KAR&lt;/a&gt; ?), or perhaps &lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=jluhrsen&quot; class=&quot;user-hover&quot; rel=&quot;jluhrsen&quot;&gt;jluhrsen&lt;/a&gt;, will you run a suitable CSIT on &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/77732&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;c/77732&lt;/a&gt; and get it merged soon-ish? We&apos;ll also need a back-port. (&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=tpantelis&quot; class=&quot;user-hover&quot; rel=&quot;tpantelis&quot;&gt;tpantelis&lt;/a&gt; already did a code review of &lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=rovarga&quot; class=&quot;user-hover&quot; rel=&quot;rovarga&quot;&gt;rovarga&lt;/a&gt;&apos;s contribution and +1 it.)&lt;/p&gt;</comment>
                            <comment id="65736" author="vorburger" created="Thu, 22 Nov 2018 13:43:29 +0000"  >&lt;p&gt;&amp;gt; we&apos;ll also need a back-port.&lt;/p&gt;

&lt;p&gt;may be safer if only to Fluorine but not to Oxygen anymore.. just to be extra cautious.&lt;/p&gt;</comment>
                            <comment id="65861" author="vorburger" created="Mon, 3 Dec 2018 13:47:58 +0000"  >&lt;p&gt;&amp;gt; may be safer if only to Fluorine but not to Oxygen anymore.. just to be extra cautious.&lt;/p&gt;

&lt;p&gt;Let&apos;s actually (propose to) get this into Oxygen as well; because &lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=skitt&quot; class=&quot;user-hover&quot; rel=&quot;skitt&quot;&gt;skitt&lt;/a&gt; has seen this one again as the major allocator in a JFR (the one from &lt;a href=&quot;https://bugzilla.redhat.com/show_bug.cgi?id=1651668&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://bugzilla.redhat.com/show_bug.cgi?id=1651668&lt;/a&gt;).&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_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i03ken:</customfieldvalue>

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