<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:53:06 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-473] Invoking RPC from RESTConf Fails after new data store changes</title>
                <link>https://jira.opendaylight.org/browse/CONTROLLER-473</link>
                <project id="10113" key="CONTROLLER">controller</project>
                    <description>&lt;p&gt;Invoking RPC from RESTConf was working fine with older data store, but with new data store changes, its failing. &lt;/p&gt;

&lt;p&gt;Invoking RPC from consumer is working fine though. I tried to debug the issue, Controller throws an illegal state exception at uncheckedInvoke(final RpcService rpcService, final CompositeNode domInput) method inside BindingIndependentConnector.java at line 875. It tries to invoke mappingService.dataObjectFromDataDom(inputClass.get(), domInput), which calls RuntimeMappingModule.java&apos;s dataObjectFromDataDom method.&lt;/p&gt;

&lt;p&gt;Above method calls YangTool&apos;s RunTimeGeneratedMappingServiceImpl.java class&lt;/p&gt;

&lt;p&gt;Exception Stack trace is &lt;/p&gt;

&lt;p&gt;2014-05-14 14:48:15 PDT [org.apache.catalina.core.ContainerBase.&lt;span class=&quot;error&quot;&gt;&amp;#91;Catalina&amp;#93;&lt;/span&gt;.&lt;span class=&quot;error&quot;&gt;&amp;#91;localhost&amp;#93;&lt;/span&gt;.&lt;span class=&quot;error&quot;&gt;&amp;#91;/restconf&amp;#93;&lt;/span&gt;.&lt;span class=&quot;error&quot;&gt;&amp;#91;JAXRSRestconf&amp;#93;&lt;/span&gt;] SEVERE org.apache.catalina.core.StandardWrapperValve invoke Servlet.service() for servlet &lt;span class=&quot;error&quot;&gt;&amp;#91;JAXRSRestconf&amp;#93;&lt;/span&gt; in context with path &lt;span class=&quot;error&quot;&gt;&amp;#91;/restconf&amp;#93;&lt;/span&gt; threw exception &lt;span class=&quot;error&quot;&gt;&amp;#91;java.util.concurrent.ExecutionException: java.lang.IllegalStateException: Failed to create data object&amp;#93;&lt;/span&gt; with root cause&lt;br/&gt;
java.lang.NullPointerException&lt;br/&gt;
	at org.opendaylight.yangtools.yang.common.QName.&amp;lt;init&amp;gt;(QName.java:140)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.common.QName.create(QName.java:279)&lt;br/&gt;
	at org.opendaylight.yangtools.sal.binding.generator.impl.BindingSchemaContextUtils.findDataNodeContainer(BindingSchemaContextUtils.java:61)&lt;br/&gt;
	at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry$LocationAwareDispatchCodec.adaptForPath(LazyGeneratedCodecRegistry.java:689)&lt;br/&gt;
	at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry$AugmentableDispatchCodec.deserialize(LazyGeneratedCodecRegistry.java:1086)&lt;br/&gt;
	at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry$AugmentableDispatchCodec.deserialize(LazyGeneratedCodecRegistry.java:1040)&lt;br/&gt;
	at org.opendaylight.yang.gen.v1.opendaylight.sample.rev140407.saveentry.input.EntryField$Broker$Codec$DOM.fromDomStatic(EntryField$Broker$Codec$DOM.java)&lt;br/&gt;
	at org.opendaylight.yang.gen.v1.opendaylight.sample.rev140407.SaveEntryInput$Broker$Codec$DOM.fromDomStatic(SaveEntryInput$Broker$Codec$DOM.java)&lt;br/&gt;
	at org.opendaylight.yang.gen.v1.opendaylight.sample.rev140407.SaveEntryInput$Broker$Codec$DOM.deserialize(SaveEntryInput$Broker$Codec$DOM.java)&lt;br/&gt;
	at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry$DataContainerCodecImpl.deserialize(LazyGeneratedCodecRegistry.java:624)&lt;br/&gt;
	at org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl.dataObjectFromDataDom(RuntimeGeneratedMappingServiceImpl.java:312)&lt;br/&gt;
	at org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl.dataObjectFromDataDom(RuntimeGeneratedMappingServiceImpl.java:413)&lt;br/&gt;
	at org.opendaylight.controller.config.yang.md.sal.binding.impl.RuntimeMappingModule$RuntimeGeneratedMappingServiceProxy.dataObjectFromDataDom(RuntimeMappingModule.java:162)&lt;br/&gt;
	at org.opendaylight.controller.sal.binding.impl.connect.dom.BindingIndependentConnector$NoOutputInvocationStrategy.uncheckedInvoke(BindingIndependentConnector.java:876)&lt;br/&gt;
	at org.opendaylight.controller.sal.binding.impl.connect.dom.BindingIndependentConnector$RpcInvocationStrategy.invokeOn(BindingIndependentConnector.java:781)&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: Mac OS&lt;br/&gt;
Platform: PC&lt;/p&gt;</environment>
        <key id="25027">CONTROLLER-473</key>
            <summary>Invoking RPC from RESTConf Fails after new data store changes</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="harmasin@cisco.com">Harman Singh</reporter>
                        <labels>
                    </labels>
                <created>Wed, 14 May 2014 22:16:46 +0000</created>
                <updated>Mon, 19 May 2014 17:59:51 +0000</updated>
                            <resolved>Mon, 19 May 2014 17:59:51 +0000</resolved>
                                    <version>0.4.0</version>
                                                    <component>mdsal</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="48304" author="tony.tkacik@gmail.com" created="Thu, 15 May 2014 08:47:05 +0000"  >&lt;p&gt;The regression you are facing is not related to data store.&lt;/p&gt;

&lt;p&gt;From stack-trace it is obvious that you are trying to send / use augmented RPC,&lt;br/&gt;
could you provide more information about your model / which RPC you were trying to invoke?.&lt;/p&gt;</comment>
                            <comment id="48305" author="harmasin@cisco.com" created="Thu, 15 May 2014 16:40:46 +0000"  >&lt;p&gt;I have attached the zip file for your testing. Here are the steps you need to follow - &lt;/p&gt;

&lt;p&gt;Unzip the attached file. &lt;br/&gt;
Go to directory model/target and copy mdsalApp-model-1.0.0.jar file to plugins folder of your controller distribution. This will load yang file in controller. &lt;br/&gt;
Go to directory provider/target and copy mdsalApp-provider-1.0.0.jar to controller distribution&#8217;s plugin folder. Provider has implementation of the RPC which fails from RESTConf.&lt;br/&gt;
Do the above mentioned similar steps for consumer, RPC call works fine from consumer. &lt;br/&gt;
Go to directory web/target and copy mdsalApp-web-1.0.0.jar to controller distribution&#8217;s plugin folder. Web use RESTConf to call RPC. Once copied, you can try to access using &lt;a href=&quot;http://localhost:8080/controller/web/mdsalApp/view&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://localhost:8080/controller/web/mdsalApp/view&lt;/a&gt; . You will see Add entry button on the UI. Click on Add Entry and fill title and description and press save button, This save button calls the RPC via REStConf and it fails. You can put debug points in controller to see point of failure.&lt;br/&gt;
Hope above information helps, Let me know if you need any further details.&lt;/p&gt;</comment>
                            <comment id="48306" author="harmasin@cisco.com" created="Thu, 15 May 2014 16:41:41 +0000"  >&lt;p&gt;Attachment mdsalApp.zip has been added with description: sample app to test RPC via REStConf&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="13376" name="mdsalApp.zip" size="199963" author="harmasin@cisco.com" created="Thu, 15 May 2014 16:41:41 +0000"/>
                    </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>1011</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=1011]]></customfieldvalue>

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

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