<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:24:14 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-1510] Get rid of &apos;synchronized (String.intern())&apos;</title>
                <link>https://jira.opendaylight.org/browse/NETVIRT-1510</link>
                <project id="10144" key="NETVIRT">netvirt</project>
                    <description>&lt;p&gt;Genius and Netvirt are using a very funky locking scheme, which is precisely:&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;
&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; foo; &lt;span class=&quot;code-comment&quot;&gt;// related to what is being processed
&lt;/span&gt;&lt;span class=&quot;code-keyword&quot;&gt;synchronized&lt;/span&gt; (foo.intern()) {
    &lt;span class=&quot;code-comment&quot;&gt;// ...
&lt;/span&gt;}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;From software design perspective, this is bonkers, as this synchronizes with any entity performing this same thing (or accidentally uses synchronized(String)) &#8211; leading to potential collisions and preventing reasoning about locks.&lt;/p&gt;

&lt;p&gt;From performance perspective, this is purely abysmal, as String.intern() is forcing a round-trip to the JVM level, cannot be optimized and is slow &#8211; as detailed in &lt;a href=&quot;https://shipilev.net/jvm-anatomy-park/10-string-intern/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://shipilev.net/jvm-anatomy-park/10-string-intern/&lt;/a&gt; .&lt;/p&gt;

&lt;p&gt;This needs to tackle only hiding this monstrosity behind an API, not with a complete migration of netvirt code to some other locking scheme.&lt;/p&gt;</description>
                <environment></environment>
        <key id="31078">NETVIRT-1510</key>
            <summary>Get rid of &apos;synchronized (String.intern())&apos;</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="2" iconUrl="https://jira.opendaylight.org/images/icons/priorities/critical.svg">High</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="abhinav.gupta">Abhinav Gupta</assignee>
                                    <reporter username="rovarga">Robert Varga</reporter>
                        <labels>
                    </labels>
                <created>Sun, 18 Nov 2018 14:43:36 +0000</created>
                <updated>Mon, 16 Dec 2019 18:41:14 +0000</updated>
                            <resolved>Mon, 16 Dec 2019 18:41:14 +0000</resolved>
                                                    <fixVersion>Sodium</fixVersion>
                    <fixVersion>Magnesium</fixVersion>
                                    <component>elanmanager</component>
                    <component>fibmanager</component>
                    <component>natservice</component>
                    <component>neutronvpn</component>
                    <component>vpnmanager</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="65755" author="rovarga" created="Mon, 26 Nov 2018 14:35:22 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=shague&quot; class=&quot;user-hover&quot; rel=&quot;shague&quot;&gt;shague&lt;/a&gt; this needs to be reviewed/driven to conclusion, I cannot track it anymore.&lt;/p&gt;</comment>
                            <comment id="65756" author="vorburger" created="Mon, 26 Nov 2018 15:52:21 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=thapar&quot; class=&quot;user-hover&quot; rel=&quot;thapar&quot;&gt;thapar&lt;/a&gt;&#160;and &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; perhaps&#160;you can help with getting the Gerrit Reviews (above) for this one in?&lt;/p&gt;</comment>
                            <comment id="67443" author="abhinav.gupta" created="Mon, 25 Nov 2019 07:58:18 +0000"  >&lt;p&gt;Manu, can you help here?&lt;/p&gt;</comment>
                            <comment id="67520" author="eceghkl" created="Wed, 4 Dec 2019 06:49:50 +0000"  >&lt;p&gt;Is there anything pending here? Looks like all are merged.&lt;/p&gt;</comment>
                            <comment id="67560" author="abhinav.gupta" created="Mon, 16 Dec 2019 18:40:35 +0000"  >&lt;p&gt;Yes, this is done. Closing this&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|i03ks7:</customfieldvalue>

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