<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:52:55 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-398] NPE at org.opendaylight.controller.md.sal.common.impl.util.compat.DataNormalizer.toLegacySimple</title>
                <link>https://jira.opendaylight.org/browse/CONTROLLER-398</link>
                <project id="10113" key="CONTROLLER">controller</project>
                    <description>&lt;p&gt;Encountering NPE when calling getOriginalOperationalSubtree() in a registered org.opendaylight.controller.sal.binding.api.data.DataChangeListener.&lt;/p&gt;

&lt;p&gt;Expected: return null.&lt;/p&gt;

&lt;p&gt;Sample code:&lt;/p&gt;

&lt;p&gt;registration:&lt;br/&gt;
dataBrokerService.registerDataChangeListener(reportedLspId, new DataChangeListener());&lt;/p&gt;


&lt;p&gt;DataChangeListener:&lt;br/&gt;
public void onDataChanged(DataChangeEvent&amp;lt;InstanceIdentifier&amp;lt;?&amp;gt;, DataObject&amp;gt; change) &lt;/p&gt;
{
                originalLsp = (ReportedLsp) change.getOriginalOperationalSubtree();
                updatedLsp = (ReportedLsp) change.getUpdatedOperationalSubtree();

}


&lt;p&gt;Full stack trace:&lt;/p&gt;

&lt;p&gt;java.lang.NullPointerException: null&lt;br/&gt;
        at org.opendaylight.controller.md.sal.common.impl.util.compat.DataNormalizer.toLegacySimple(DataNormalizer.java:159) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.md.sal.common.impl.util.compat.DataNormalizer.toLegacy(DataNormalizer.java:154) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBinding(BindingToNormalizedNodeCodec.java:106) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker.toBindingData(AbstractForwardedDataBroker.java:128) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatedDataChangeEvent.getOriginalSubtree(AbstractForwardedDataBroker.java:210) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatedDataChangeEvent.getOriginalSubtree(AbstractForwardedDataBroker.java:155) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.md.sal.binding.impl.LegacyDataChangeEvent$OperationalChangeEvent.getOriginalOperationalSubtree(LegacyDataChangeEvent.java:118) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.md.sal.binding.impl.LegacyDataChangeEvent$OperationalChangeEvent.getOriginalOperationalSubtree(LegacyDataChangeEvent.java:96) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: Linux&lt;br/&gt;
Platform: PC&lt;/p&gt;</environment>
        <key id="24952">CONTROLLER-398</key>
            <summary>NPE at org.opendaylight.controller.md.sal.common.impl.util.compat.DataNormalizer.toLegacySimple</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="tony.tkacik@gmail.com">Tony Tkacik</assignee>
                                    <reporter username="vmayamsi@cisco.com">Valentin Mayamsin</reporter>
                        <labels>
                    </labels>
                <created>Fri, 25 Apr 2014 16:30:41 +0000</created>
                <updated>Tue, 25 Jul 2023 08:23:38 +0000</updated>
                            <resolved>Mon, 12 May 2014 16:36:22 +0000</resolved>
                                                                    <component>mdsal</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="48146" author="vmayamsi@cisco.com" created="Fri, 25 Apr 2014 16:32:09 +0000"  >&lt;p&gt;Version:&lt;/p&gt;

&lt;p&gt;org.opendaylight.controller.version = 0.1&lt;br/&gt;
org.opendaylight.controller.build.scm.version = 832327e85f47db63006e9bd6115ea85104124f4f&lt;br/&gt;
org.opendaylight.controller.build.user = jenkins-controller&lt;br/&gt;
org.opendaylight.controller.build.workspace = **********&lt;br/&gt;
org.opendaylight.controller.build.timestamp = 1398341431797&lt;br/&gt;
org.opendaylight.controller.build.machine = **********&lt;/p&gt;</comment>
                            <comment id="48147" author="vmayamsi@cisco.com" created="Mon, 28 Apr 2014 21:50:36 +0000"  >&lt;p&gt;To reproduce:&lt;/p&gt;

&lt;p&gt;1. Create an LSP with NetworkTopologyPcepService.addLsp()&lt;br/&gt;
2. Subscribe to it with DataBrokerService.registerDataChangeListener(id, listener) where id is:&lt;br/&gt;
InstanceIdentifier.builder(NetworkTopology.class)&lt;br/&gt;
                .child(Topology.class, new TopologyKey(new TopologyId(topologyId)))&lt;br/&gt;
                .child(Node.class, new NodeKey(new NodeId(nodeId)))&lt;br/&gt;
                .augmentation(Node1.class)&lt;br/&gt;
                .child(PathComputationClient.class)&lt;br/&gt;
                .child(ReportedLsp.class, new ReportedLspKey(lspName));&lt;/p&gt;

&lt;p&gt;3. listener is:&lt;br/&gt;
        public void onDataChanged(DataChangeEvent&amp;lt;InstanceIdentifier&amp;lt;?&amp;gt;, DataObject&amp;gt; change) {&lt;br/&gt;
            ReportedLsp originalLsp = null;&lt;br/&gt;
            ReportedLsp updatedLsp = null;&lt;br/&gt;
            originalLsp = (ReportedLsp) change.getOriginalOperationalSubtree();&lt;br/&gt;
            updatedLsp = (ReportedLsp) change.getUpdatedOperationalSubtree();&lt;/p&gt;

&lt;p&gt;4. First message you&apos;ll receive will trigger NPE&lt;/p&gt;</comment>
                            <comment id="48148" author="dbandyop@cisco.com" created="Mon, 28 Apr 2014 21:54:58 +0000"  >&lt;p&gt;Thanks Valentin.&lt;/p&gt;</comment>
                            <comment id="48149" author="dbandyop@cisco.com" created="Thu, 1 May 2014 18:38:10 +0000"  >&lt;p&gt;Which distribution did you run the controller, when you faced this issue?&lt;/p&gt;</comment>
                            <comment id="48150" author="vmayamsi@cisco.com" created="Thu, 1 May 2014 19:37:12 +0000"  >&lt;p&gt;Fedora release 18 (Spherical Cow)&lt;/p&gt;</comment>
                            <comment id="48151" author="dbandyop@cisco.com" created="Thu, 1 May 2014 20:14:53 +0000"  >&lt;p&gt;No I mean, did you run the controller from controller distribution or openflowplugin or integration or service provider distribution?&lt;/p&gt;</comment>
                            <comment id="48152" author="vmayamsi@cisco.com" created="Thu, 1 May 2014 21:23:06 +0000"  >&lt;p&gt;This is special build for Cisco. What specifically are you interested in?&lt;/p&gt;</comment>
                            <comment id="48153" author="tony.tkacik@gmail.com" created="Tue, 6 May 2014 11:34:32 +0000"  >&lt;p&gt;Proposed fix which explicitly tests if before / after subtree image &lt;br/&gt;
is available.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/6740&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/6740&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_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>849</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=849]]></customfieldvalue>

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

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