Details
-
Bug
-
Status: Resolved
-
Resolution: Done
-
0.4.0
-
None
-
None
-
Operating System: Mac OS
Platform: PC
-
1011
Description
Invoking RPC from RESTConf was working fine with older data store, but with new data store changes, its failing.
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's dataObjectFromDataDom method.
Above method calls YangTool's RunTimeGeneratedMappingServiceImpl.java class
Exception Stack trace is
2014-05-14 14:48:15 PDT [org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/restconf].[JAXRSRestconf]] SEVERE org.apache.catalina.core.StandardWrapperValve invoke Servlet.service() for servlet [JAXRSRestconf] in context with path [/restconf] threw exception [java.util.concurrent.ExecutionException: java.lang.IllegalStateException: Failed to create data object] with root cause
java.lang.NullPointerException
at org.opendaylight.yangtools.yang.common.QName.<init>(QName.java:140)
at org.opendaylight.yangtools.yang.common.QName.create(QName.java:279)
at org.opendaylight.yangtools.sal.binding.generator.impl.BindingSchemaContextUtils.findDataNodeContainer(BindingSchemaContextUtils.java:61)
at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry$LocationAwareDispatchCodec.adaptForPath(LazyGeneratedCodecRegistry.java:689)
at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry$AugmentableDispatchCodec.deserialize(LazyGeneratedCodecRegistry.java:1086)
at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry$AugmentableDispatchCodec.deserialize(LazyGeneratedCodecRegistry.java:1040)
at org.opendaylight.yang.gen.v1.opendaylight.sample.rev140407.saveentry.input.EntryField$Broker$Codec$DOM.fromDomStatic(EntryField$Broker$Codec$DOM.java)
at org.opendaylight.yang.gen.v1.opendaylight.sample.rev140407.SaveEntryInput$Broker$Codec$DOM.fromDomStatic(SaveEntryInput$Broker$Codec$DOM.java)
at org.opendaylight.yang.gen.v1.opendaylight.sample.rev140407.SaveEntryInput$Broker$Codec$DOM.deserialize(SaveEntryInput$Broker$Codec$DOM.java)
at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry$DataContainerCodecImpl.deserialize(LazyGeneratedCodecRegistry.java:624)
at org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl.dataObjectFromDataDom(RuntimeGeneratedMappingServiceImpl.java:312)
at org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl.dataObjectFromDataDom(RuntimeGeneratedMappingServiceImpl.java:413)
at org.opendaylight.controller.config.yang.md.sal.binding.impl.RuntimeMappingModule$RuntimeGeneratedMappingServiceProxy.dataObjectFromDataDom(RuntimeMappingModule.java:162)
at org.opendaylight.controller.sal.binding.impl.connect.dom.BindingIndependentConnector$NoOutputInvocationStrategy.uncheckedInvoke(BindingIndependentConnector.java:876)
at org.opendaylight.controller.sal.binding.impl.connect.dom.BindingIndependentConnector$RpcInvocationStrategy.invokeOn(BindingIndependentConnector.java:781)