<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:14:26 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>[NETCONF-210] Yangtools Null Pointer when running a binding API call to a mounted device with a new model</title>
                <link>https://jira.opendaylight.org/browse/NETCONF-210</link>
                <project id="10142" key="NETCONF">netconf</project>
                    <description>&lt;p&gt;This is a continuation of &lt;a href=&quot;https://jira.opendaylight.org/browse/NETCONF-70&quot; title=&quot;Support multiple Yang model revisions for mounted nodes&quot; class=&quot;issue-link&quot; data-issue-key=&quot;NETCONF-70&quot;&gt;NETCONF-70&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Two issues are put forward:&lt;br/&gt;
1) The 4350 defect is not actually adequately solved by the 4577 fix, which provides an impractical workaround (it is not realistic to expect an operator/user to mount and maintain a separate cache for each device)&lt;br/&gt;
2) Tests with the 4577 fix in Beryllium show that the problem is still there, although at a different point, with a null exception error.&lt;/p&gt;

&lt;p&gt;The scenario for this is to have a binding aware app, which uses device-model version X, attempt to commit via mounted netconf a configuration on a device running device-model version Y (Y&amp;gt;X).&lt;/p&gt;


&lt;p&gt;2016-05-25 13:23:25,357 | ERROR | on-dispatcher-60 | DataChangeListener               | 172 - org.opendaylight.controller.sal-distributed-datastore - 1.3.2.SNAPSHOT | Error notifying listener org.opendaylight.groupbasedpolicy.renderer.vpp.listeners.impl.GBPListenerImpl&lt;br/&gt;
java.lang.NullPointerException: Cannot find (&lt;a href=&quot;http://www.cisco.com/yang/cisco-vpp?revision=2015-10-05)vpp&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://www.cisco.com/yang/cisco-vpp?revision=2015-10-05)vpp&lt;/a&gt; node in schema context. Instance identifier has to start from root&lt;br/&gt;
        at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:250)&lt;span class=&quot;error&quot;&gt;&amp;#91;64:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.fromInstanceId(ImmutableNodes.java:134)&lt;span class=&quot;error&quot;&gt;&amp;#91;103:org.opendaylight.yangtools.yang-data-impl:0.8.2.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.fromInstanceId(ImmutableNodes.java:105)&lt;span class=&quot;error&quot;&gt;&amp;#91;103:org.opendaylight.yangtools.yang-data-impl:0.8.2.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil.toFilterStructure(NetconfMessageTransformUtil.java:165)&lt;span class=&quot;error&quot;&gt;&amp;#91;316:org.opendaylight.netconf.sal-netconf-connector:1.3.2.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.netconf.sal.connect.netconf.util.NetconfBaseOps.getConfig(NetconfBaseOps.java:161)&lt;span class=&quot;error&quot;&gt;&amp;#91;316:org.opendaylight.netconf.sal-netconf-connector:1.3.2.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.netconf.sal.connect.netconf.util.NetconfBaseOps.getConfigRunning(NetconfBaseOps.java:174)&lt;span class=&quot;error&quot;&gt;&amp;#91;316:org.opendaylight.netconf.sal-netconf-connector:1.3.2.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.netconf.sal.connect.netconf.sal.tx.ReadOnlyTx.readConfigurationData(ReadOnlyTx.java:69)&lt;span class=&quot;error&quot;&gt;&amp;#91;316:org.opendaylight.netconf.sal-netconf-connector:1.3.2.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.netconf.sal.connect.netconf.sal.tx.ReadOnlyTx.read(ReadOnlyTx.java:125)&lt;span class=&quot;error&quot;&gt;&amp;#91;316:org.opendaylight.netconf.sal-netconf-connector:1.3.2.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.netconf.sal.connect.netconf.sal.tx.ReadWriteTx.read(ReadWriteTx.java:70)&lt;span class=&quot;error&quot;&gt;&amp;#91;316:org.opendaylight.netconf.sal-netconf-connector:1.3.2.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedTransaction.doRead(AbstractForwardedTransaction.java:63)&lt;span class=&quot;error&quot;&gt;&amp;#91;147:org.opendaylight.controller.sal-binding-broker-impl:1.3.2.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.md.sal.binding.impl.BindingDOMReadWriteTransactionAdapter.read(BindingDOMReadWriteTransactionAdapter.java:31)&lt;span class=&quot;error&quot;&gt;&amp;#91;147:org.opendaylight.controller.sal-binding-broker-impl:1.3.2.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.groupbasedpolicy.renderer.vpp.commands.BridgeDomainCommand.addBridge(BridgeDomainCommand.java:89)&lt;span class=&quot;error&quot;&gt;&amp;#91;326:org.opendaylight.groupbasedpolicy.vpp-l2-renderer:0.3.2.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.groupbasedpolicy.renderer.vpp.commands.BridgeDomainCommand.execute(BridgeDomainCommand.java:72)&lt;span class=&quot;error&quot;&gt;&amp;#91;326:org.opendaylight.groupbasedpolicy.vpp-l2-renderer:0.3.2.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.groupbasedpolicy.renderer.vpp.store.CommandExecutor.process(CommandExecutor.java:68)&lt;span class=&quot;error&quot;&gt;&amp;#91;326:org.opendaylight.groupbasedpolicy.vpp-l2-renderer:0.3.2.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.groupbasedpolicy.renderer.vpp.listeners.impl.GBPListenerImpl.execVhostuserConfigCommand(GBPListenerImpl.java:249)&lt;span class=&quot;error&quot;&gt;&amp;#91;326:org.opendaylight.groupbasedpolicy.vpp-l2-renderer:0.3.2.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.groupbasedpolicy.renderer.vpp.listeners.impl.GBPListenerImpl.add(GBPListenerImpl.java:208)&lt;span class=&quot;error&quot;&gt;&amp;#91;326:org.opendaylight.groupbasedpolicy.vpp-l2-renderer:0.3.2.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.groupbasedpolicy.renderer.vpp.listeners.impl.GBPListenerImpl.add(GBPListenerImpl.java:41)&lt;span class=&quot;error&quot;&gt;&amp;#91;326:org.opendaylight.groupbasedpolicy.vpp-l2-renderer:0.3.2.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.groupbasedpolicy.renderer.vpp.listeners.impl.AbstractGBPListenerImpl.createData(AbstractGBPListenerImpl.java:83)&lt;span class=&quot;error&quot;&gt;&amp;#91;326:org.opendaylight.groupbasedpolicy.vpp-l2-renderer:0.3.2.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.groupbasedpolicy.renderer.vpp.listeners.impl.AbstractGBPListenerImpl.onDataChanged(AbstractGBPListenerImpl.java:64)&lt;span class=&quot;error&quot;&gt;&amp;#91;326:org.opendaylight.groupbasedpolicy.vpp-l2-renderer:0.3.2.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatingDataChangeInvoker.onDataChanged(AbstractForwardedDataBroker.java:143)&lt;span class=&quot;error&quot;&gt;&amp;#91;147:org.opendaylight.controller.sal-binding-broker-impl:1.3.2.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.DataChangeListener.dataChanged(DataChangeListener.java:66)&lt;span class=&quot;error&quot;&gt;&amp;#91;172:org.opendaylight.controller.sal-distributed-datastore:1.3.2.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.DataChangeListener.handleReceive(DataChangeListener.java:39)&lt;span class=&quot;error&quot;&gt;&amp;#91;172:org.opendaylight.controller.sal-distributed-datastore:1.3.2.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:34)&lt;span class=&quot;error&quot;&gt;&amp;#91;168:org.opendaylight.controller.sal-clustering-commons:1.3.2.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167)&lt;span class=&quot;error&quot;&gt;&amp;#91;157:com.typesafe.akka.actor:2.3.14&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at akka.actor.Actor$class.aroundReceive(Actor.scala:467)&lt;span class=&quot;error&quot;&gt;&amp;#91;157:com.typesafe.akka.actor:2.3.14&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:97)&lt;span class=&quot;error&quot;&gt;&amp;#91;157:com.typesafe.akka.actor:2.3.14&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)&lt;span class=&quot;error&quot;&gt;&amp;#91;157:com.typesafe.akka.actor:2.3.14&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at akka.actor.ActorCell.invoke(ActorCell.scala:487)&lt;span class=&quot;error&quot;&gt;&amp;#91;157:com.typesafe.akka.actor:2.3.14&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)&lt;span class=&quot;error&quot;&gt;&amp;#91;157:com.typesafe.akka.actor:2.3.14&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at akka.dispatch.Mailbox.run(Mailbox.scala:220)&lt;span class=&quot;error&quot;&gt;&amp;#91;157:com.typesafe.akka.actor:2.3.14&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397)&lt;span class=&quot;error&quot;&gt;&amp;#91;157:com.typesafe.akka.actor:2.3.14&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)&lt;span class=&quot;error&quot;&gt;&amp;#91;154:org.scala-lang.scala-library:2.11.7.v20150622-112736-1fbce4612c&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)&lt;span class=&quot;error&quot;&gt;&amp;#91;154:org.scala-lang.scala-library:2.11.7.v20150622-112736-1fbce4612c&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)&lt;span class=&quot;error&quot;&gt;&amp;#91;154:org.scala-lang.scala-library:2.11.7.v20150622-112736-1fbce4612c&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)&lt;span class=&quot;error&quot;&gt;&amp;#91;154:org.scala-lang.scala-library:2.11.7.v20150622-112736-1fbce4612c&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="21223">NETCONF-210</key>
            <summary>Yangtools Null Pointer when running a binding API call to a mounted device with a new model</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                                <status id="10003" iconUrl="https://jira.opendaylight.org/images/icons/status_generic.gif" description="">Confirmed</status>
                    <statusCategory id="2" key="new" colorName="blue-gray"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="wojdec">Wojciech Dec</reporter>
                        <labels>
                    </labels>
                <created>Wed, 25 May 2016 11:34:47 +0000</created>
                <updated>Tue, 13 Aug 2019 07:38:40 +0000</updated>
                                                                            <component>netconf</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="39433" author="rovarga" created="Wed, 1 Jun 2016 11:55:19 +0000"  >&lt;p&gt;yangtools is detecting the problem, it is an error in the caller&lt;/p&gt;</comment>
                            <comment id="39434" author="wdec@cisco.com" created="Wed, 1 Jun 2016 11:58:51 +0000"  >&lt;p&gt;Hi Robert,&lt;/p&gt;

&lt;p&gt;so this problem is related to 4350, but it has a different signature than seen before. I.e. it shows up when a BA app, built against yang model version X, calls via netconf on a device running model version Y (X&amp;lt;Y).&lt;br/&gt;
The same app call on a device running model X doesn&apos;t throw the error.&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>5967</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=5967]]></customfieldvalue>

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

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