<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:05:49 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-57] NullPointerException in HostTracker.java</title>
                <link>https://jira.opendaylight.org/browse/L2SWITCH-57</link>
                <project id="10134" key="L2SWITCH">l2switch</project>
                    <description>&lt;p&gt;Two buggy sites may raise NullPointerException in HostTracker module if concurrent remove operation occurs.&lt;/p&gt;

&lt;p&gt;The first case is for &quot;transHost&quot; variable, if a concurrent remove upon &quot;hostsDB&quot; variable. The corresponding snippets are attached:&lt;/p&gt;

&lt;p&gt;  HostNodeConnector transHost = hostsDB.get(networkAddr);&lt;br/&gt;
  transHost.setStaticHost(true);&lt;/p&gt;

&lt;p&gt;The second case is for &quot;existinghost&quot; variable. The following are snippets:&lt;/p&gt;

&lt;p&gt;  HostNodeConnector existinghost = hostsDB.get(id);&lt;br/&gt;
  existinghost.initArpSendCountDown();&lt;/p&gt;

&lt;p&gt;To solve the issue, the simplest way is to add a null checker for these variable since we cannot guarantee the result from hostsDB is not NULL.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="21570">L2SWITCH-57</key>
            <summary>NullPointerException in HostTracker.java</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="10001">Won&apos;t Do</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="x.rayyle@gmail.com">lei xu</reporter>
                        <labels>
                    </labels>
                <created>Sat, 16 Jan 2016 04:40:04 +0000</created>
                <updated>Thu, 19 Oct 2017 21:28:01 +0000</updated>
                            <resolved>Wed, 25 May 2016 19:04:20 +0000</resolved>
                                    <version>unspecified</version>
                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="40400" author="suvitha.balu@tcs.com" created="Thu, 19 May 2016 09:24:28 +0000"  >&lt;p&gt;(In reply to lei xu from comment #0)&lt;br/&gt;
&amp;gt; Two buggy sites may raise NullPointerException in HostTracker module if&lt;br/&gt;
&amp;gt; concurrent remove operation occurs.&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; The first case is for &quot;transHost&quot; variable, if a concurrent remove upon&lt;br/&gt;
&amp;gt; &quot;hostsDB&quot; variable. The corresponding snippets are attached:&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt;   HostNodeConnector transHost = hostsDB.get(networkAddr);&lt;br/&gt;
&amp;gt;   transHost.setStaticHost(true);&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; The second case is for &quot;existinghost&quot; variable. The following are snippets:&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt;   HostNodeConnector existinghost = hostsDB.get(id);&lt;br/&gt;
&amp;gt;   existinghost.initArpSendCountDown();&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; To solve the issue, the simplest way is to add a null checker for these&lt;br/&gt;
&amp;gt; variable since we cannot guarantee the result from hostsDB is not NULL.&lt;/p&gt;



&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;I would like to take up this bug, so could you please provide me the more details.&lt;/p&gt;

&lt;p&gt;Thanks,&lt;br/&gt;
Suvitha Balu&lt;/p&gt;</comment>
                            <comment id="40401" author="x.rayyle@gmail.com" created="Thu, 19 May 2016 18:45:07 +0000"  >&lt;p&gt;Hi Suvitha Balu,&lt;/p&gt;

&lt;p&gt;I have checked the latest sorce code of HostTracker.java in &lt;br/&gt;
&lt;a href=&quot;https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/controller/hosttracker.implementation/0.6.5-SNAPSHOT/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/controller/hosttracker.implementation/0.6.5-SNAPSHOT/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It seems the concurrency bugs are still there. &lt;/p&gt;

&lt;p&gt;First, in the line of 547 and 548, &lt;br/&gt;
545: if (hostExists(host)) {&lt;br/&gt;
...&lt;br/&gt;
547: HostNodeConnector existinghost = hostsDB.get(id);&lt;br/&gt;
548:&#12288;existinghost.initArpSendCountDown();&lt;br/&gt;
The Line 545 cannot guarantee the id is in hostsDB, in the case, I think we can use the same reference in line 545 and 547, for example,&lt;br/&gt;
h = hostsDB.get(id)&lt;br/&gt;
545: if (h != null){&lt;/p&gt;</comment>
                            <comment id="40402" author="suvitha.balu@tcs.com" created="Fri, 20 May 2016 05:51:35 +0000"  >&lt;p&gt;Hi Lei,&lt;br/&gt;
Thanks for the information.&lt;/p&gt;

&lt;p&gt;I have checked-out the ODL Origin/master controller and L2switch code and could not find the HostTracker.java file.  Is the part of any new feature or specific to any release?&lt;/p&gt;</comment>
                            <comment id="40403" author="colin@colindixon.com" created="Wed, 25 May 2016 19:04:03 +0000"  >&lt;p&gt;This appears to be referring to the now-defunct HostTracker that used to be in the controller using the AD-SAL. The AD-SAL was completely removed in Beryllium and the recommendation is to use the Host Tracker in the l2switch project as described here:&lt;br/&gt;
&lt;a href=&quot;https://wiki.opendaylight.org/view/L2_Switch:HostTracker&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://wiki.opendaylight.org/view/L2_Switch:HostTracker&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You should be able to install it by installing the Karaf feature for odl-l2switch-hosttracker.&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>4983</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=4983]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10202" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Priority</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10304"><![CDATA[Low]]></customfieldvalue>

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

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