<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:24:13 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>[NETVIRT-1503] Extensive object allocation from Uuid Matcher</title>
                <link>https://jira.opendaylight.org/browse/NETVIRT-1503</link>
                <project id="10144" key="NETVIRT">netvirt</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, and was wondering if the following code path which appears as a big &quot;TLAB allocation&quot; could be optimized:&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;void java.util.regex.Matcher.&amp;lt;init&amp;gt;(Pattern, CharSequence)	7491
Matcher java.util.regex.Pattern.matcher(CharSequence)	7491
void org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid.&amp;lt;init&amp;gt;(&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;)	6932
&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt; java.lang.invoke.LambdaForm$DMH.167258716.newInvokeSpecial_L_L(&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;, &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;)	6638
&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt; java.lang.invoke.LambdaForm$BMH.900683535.reinvoke(&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;, &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;)	6638
&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt; java.lang.invoke.LambdaForm$MH.242644271.invokeExact_MT(&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;, &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;, &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;)	6638
&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt; org.opendaylight.mdsal.binding.dom.codec.impl.EncapsulatedValueCodec.deserialize(&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;)	6638
&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt; org.opendaylight.mdsal.binding.dom.codec.impl.LeafNodeCodecContext.deserializeObject(NormalizedNode)	6630
&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt; org.opendaylight.mdsal.binding.dom.codec.impl.DataObjectCodecContext.getBindingChildValue(Method, NormalizedNodeContainer)	6630
&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt; org.opendaylight.mdsal.binding.dom.codec.impl.KeyedListNodeCodecContext.getBindingChildValue(Method, NormalizedNodeContainer)	6630
&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt; org.opendaylight.mdsal.binding.dom.codec.impl.LazyDataObject.getBindingData(Method)	6630
&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt; org.opendaylight.mdsal.binding.dom.codec.impl.LazyDataObject.invoke(&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;, Method, &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;[])	6160
Uuid com.sun.proxy.$Proxy453.getRouterId()	3063
Uuid org.opendaylight.netvirt.neutronvpn.NeutronvpnUtils.getVpnForRouter(Uuid, &lt;span class=&quot;code-object&quot;&gt;Boolean&lt;/span&gt;)	3063
void org.opendaylight.netvirt.neutronvpn.NeutronPortChangeListener.handleRouterInterfaceAdded(Port)	1654
void org.opendaylight.netvirt.neutronvpn.NeutronPortChangeListener.add(InstanceIdentifier, Port)	1654
void org.opendaylight.netvirt.neutronvpn.NeutronPortChangeListener.add(InstanceIdentifier, DataObject)	1654
void org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase$DataTreeChangeHandler.run()	1654
void java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker)	1654
void java.util.concurrent.ThreadPoolExecutor$Worker.run()	1654
void java.lang.&lt;span class=&quot;code-object&quot;&gt;Thread&lt;/span&gt;.run()	1654&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
</description>
                <environment></environment>
        <key id="31022">NETVIRT-1503</key>
            <summary>Extensive object allocation from Uuid Matcher</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.opendaylight.org/images/icons/priorities/major.svg">Medium</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:31:35 +0000</created>
                <updated>Fri, 23 Nov 2018 13:56:05 +0000</updated>
                            <resolved>Fri, 23 Nov 2018 13:56:05 +0000</resolved>
                                    <version>Oxygen-SR3</version>
                                    <fixVersion>Fluorine-SR2</fixVersion>
                    <fixVersion>Neon</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="65578" author="rovarga" created="Tue, 13 Nov 2018 14:39:41 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=vorburger&quot; class=&quot;user-hover&quot; rel=&quot;vorburger&quot;&gt;vorburger&lt;/a&gt; yes, multiple options:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;use Stream.anyMatch() instead of full list materialization followed by a List.contains()&lt;/li&gt;
	&lt;li&gt;realize this is a primary key, so issue a read()+exists() requests before doing further processing&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="65581" author="vorburger" created="Tue, 13 Nov 2018 15:08:03 +0000"  >&lt;p&gt;&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; would you be willing to self assign this issue to you, review &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 proposed change for this (big Thank You!), take care of pack-porting that (and potentially getting it d/s&apos;d, if we don&apos;t rebase) or should we look for someone else to own this one?&lt;/p&gt;</comment>
                            <comment id="65697" author="vorburger" created="Fri, 16 Nov 2018 17:57:04 +0000"  >&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/77904&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;c/77904&lt;/a&gt; cherry-picked from Neon to Fluorine. &lt;a href=&quot;https://github.com/opendaylight/netvirt/blob/stable/oxygen/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronvpnUtils.java&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Oxygen code is quite different&lt;/a&gt; (above was found on Oxygen).&lt;/p&gt;

&lt;p&gt;&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; on email said he was &quot;looking into the regexes in Uuid&quot;, so assigning to him.&lt;/p&gt;</comment>
                            <comment id="65735" author="vorburger" created="Thu, 22 Nov 2018 11:17:43 +0000"  >&lt;p&gt;&amp;gt;&#160;&#160;&lt;a href=&quot;https://github.com/opendaylight/netvirt/blob/stable/oxygen/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronvpnUtils.java&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Oxygen code is quite different&lt;/a&gt;&#160;(above was found on Oxygen)&lt;/p&gt;

&lt;p&gt;I&apos;m removing Oxygen from Fix Version for this one (&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/77904&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;c/77904&lt;/a&gt;&#160;is in Neon&#160;and Fluorine); you win some, loose some!&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|i03kfz:</customfieldvalue>

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