<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:54:25 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>[CONTROLLER-995] Clustering : StatisticsManager throws NPE when running single node integration tests</title>
                <link>https://jira.opendaylight.org/browse/CONTROLLER-995</link>
                <project id="10113" key="CONTROLLER">controller</project>
                    <description>&lt;p&gt;2014-10-31 11:29:44,687 | ERROR | -notification-21 | NotifyTask                       | 140 - org.opendaylight.controller.sal-binding-broker-impl - 1.2.0.SNAPSHOT | Unhandled exception thrown by listener: org.opendaylight.controller.md.statistics.manager.impl.StatListenCommitFlow$$Broker$ListenerInvoker@5d22f281&lt;br/&gt;
java.lang.NullPointerException&lt;br/&gt;
        at org.opendaylight.controller.md.statistics.manager.impl.StatAbstractNotifyCommit.isExpectedStatistics(StatAbstractNotifyCommit.java:125)&lt;span class=&quot;error&quot;&gt;&amp;#91;151:org.opendaylight.controller.md.statistics-manager:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at &lt;br/&gt;
This exception happens many many times during the test and may be the root cause for why some data appears to be missing in the datastore.&lt;/p&gt;


&lt;p&gt;org.opendaylight.controller.md.statistics.manager.impl.StatListenCommitFlow.onFlowsStatisticsUpdate(StatListenCommitFlow.java:172)&lt;span class=&quot;error&quot;&gt;&amp;#91;151:org.opendaylight.controller.md.statistics-manager:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.md.statistics.manager.impl.StatListenCommitFlow$$Broker$ListenerInvoker.onNotification(StatListenCommitFlow$$Broker$ListenerInvoker.java)&lt;span class=&quot;error&quot;&gt;&amp;#91;151:org.opendaylight.controller.md.statistics-manager:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.sal.binding.impl.AbstractNotificationListenerRegistration.notify(AbstractNotificationListenerRegistration.java:38)&lt;span class=&quot;error&quot;&gt;&amp;#91;140:org.opendaylight.controller.sal-binding-broker-impl:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.sal.binding.impl.NotifyTask.run(NotifyTask.java:42)&lt;span class=&quot;error&quot;&gt;&amp;#91;140:org.opendaylight.controller.sal-binding-broker-impl:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_65&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_65&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_65&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_65&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.lang.Thread.run(Thread.java:745)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_65&amp;#93;&lt;/span&gt;&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="25549">CONTROLLER-995</key>
            <summary>Clustering : StatisticsManager throws NPE when running single node integration tests</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="moraja@cisco.com">Moiz Raja</assignee>
                                    <reporter username="moraja@cisco.com">Moiz Raja</reporter>
                        <labels>
                    </labels>
                <created>Wed, 5 Nov 2014 01:23:20 +0000</created>
                <updated>Tue, 25 Jul 2023 08:24:17 +0000</updated>
                            <resolved>Fri, 14 Nov 2014 23:05:13 +0000</resolved>
                                                                    <component>mdsal</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="49710" author="moraja@cisco.com" created="Wed, 5 Nov 2014 01:42:34 +0000"  >&lt;p&gt;    protected boolean isExpectedStatistics(final TransactionId transId, final NodeId nodeId) {&lt;br/&gt;
        Boolean isExpectedStat = Boolean.FALSE;&lt;br/&gt;
        try &lt;/p&gt;
{
            isExpectedStat = manager.getRpcMsgManager().isExpectedStatistics(transId, nodeId).get(10, TimeUnit.SECONDS); // Exception caused by this line
        }
&lt;p&gt;        catch (InterruptedException | ExecutionException | TimeoutException e) {&lt;br/&gt;
            LOG.warn(&quot;Check Transaction registraion {} fail!&quot;, transId, e);&lt;br/&gt;
            return false;&lt;br/&gt;
        }&lt;br/&gt;
        return isExpectedStat.booleanValue();&lt;br/&gt;
    }&lt;/p&gt;


&lt;ol&gt;
	&lt;li&gt;manager - is an invariant and cannot be null&lt;/li&gt;
	&lt;li&gt;manager.getRpcMsgManager() - could be null, it is set to null in StatisticsManagerImpl#close&lt;/li&gt;
	&lt;li&gt;manager.getRpcMsgManager().isExpectedStatistics(transId, nodeId) - cannot be null because isExpectedStatistics does not return a null&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;It seems to be that StatisticsManagerImpl close is called at some point and that results in things getting messed up thenceforth.&lt;/p&gt;</comment>
                            <comment id="49711" author="moraja@cisco.com" created="Wed, 5 Nov 2014 01:50:26 +0000"  >&lt;p&gt;My initial analysis suggests that this may be an issue with StatisticsManager not unregistering for notifications properly. This can happen when the configuration is changed (config sub-system). For example when we switch from in-memory to clustered datastore the databroker gets rewired which results in all apps that use the databroker getting rewired. At that time the statistics manager&apos;s close will be called. The statistics manager should unregister from all notifications at this point. If it does not then it may receive notifications and since close sets the variables to null results in an NPE.&lt;/p&gt;</comment>
                            <comment id="49712" author="moraja@cisco.com" created="Wed, 5 Nov 2014 13:47:22 +0000"  >&lt;p&gt;StatsManagerImpl#close does call close on all the &quot;*Comiter&quot; and &quot;*Registration&quot; class instances. That should have unregistered the notifications ???&lt;/p&gt;</comment>
                            <comment id="49713" author="moraja@cisco.com" created="Thu, 6 Nov 2014 22:48:34 +0000"  >&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/12585&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/12585&lt;/a&gt; - HELIUM&lt;/p&gt;</comment>
                            <comment id="49714" author="moraja@cisco.com" created="Fri, 14 Nov 2014 23:05:13 +0000"  >&lt;p&gt;Merged to both master and stable/helium&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>2317</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=2317]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10204" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>ODL SR Target Milestone</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10360"><![CDATA[Helium-2]]></customfieldvalue>

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

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