Uploaded image for project: 'netconf'
  1. netconf
  2. NETCONF-820

Fail to process RESTCONF fields on the mounted device

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Medium Medium
    • 4.0.3
    • None
    • netconf
    • None

      RESCONF get call to retrieve a subset of tree on a mounted device using the fields parameter fails when it includes a list path.

      For example, the following error was thrown when

      GET /rests/data/network-topology:network-topology/topology=topology-netconf/node=SJ-E9-221/yang-ext:mount/ietf-interfaces:interfaces?fields=interface/type
      

      where interface is a list.

      04:54:24.938 ERROR [opendaylight-cluster-data-akka.actor.default-dispatcher-13] class org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier$NodeIdentifier cannot be cast to class org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier$NodeIdentifierWithPredicates (org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier$NodeIdentifier and org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier$NodeIdentifierWithPredicates are in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @43ad1bfd)
      java.lang.ClassCastException: class org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier$NodeIdentifier cannot be cast to class org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier$NodeIdentifierWithPredicates (org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier$NodeIdentifier and org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier$NodeIdentifierWithPredicates are in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @43ad1bfd)
      	at org.opendaylight.netconf.util.StreamingContext$AbstractMapMixin.emitChildTreeNode(StreamingContext.java:268) ~[bundleFile:?]
      	at org.opendaylight.netconf.util.StreamingContext$AbstractComposite.streamToWriter(StreamingContext.java:181) ~[bundleFile:?]
      	at org.opendaylight.netconf.util.StreamingContext$AbstractComposite.emitChildTreeNode(StreamingContext.java:188) ~[bundleFile:?]
      	at org.opendaylight.netconf.util.StreamingContext$AbstractComposite.streamToWriter(StreamingContext.java:181) ~[bundleFile:?]
      	at org.opendaylight.netconf.util.NetconfUtil.writeFilter(NetconfUtil.java:254) ~[bundleFile:?]
      	at org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil.toFilterStructure(NetconfMessageTransformUtil.java:261) ~[bundleFile:?]
      	at org.opendaylight.netconf.sal.connect.netconf.util.NetconfRpcStructureTransformer.toFilterStructure(NetconfRpcStructureTransformer.java:77) ~[bundleFile:?]
      	at org.opendaylight.netconf.sal.connect.netconf.util.NetconfBaseOps.get(NetconfBaseOps.java:351) ~[bundleFile:?]
      	at org.opendaylight.netconf.sal.connect.netconf.util.NetconfBaseOps.getData(NetconfBaseOps.java:302) ~[bundleFile:?]
      	at org.opendaylight.netconf.sal.connect.netconf.sal.AbstractNetconfDataTreeService.get(AbstractNetconfDataTreeService.java:265) ~[bundleFile:?]
      	at org.opendaylight.netconf.topology.singleton.impl.actors.NetconfDataTreeServiceActor.onReceive(NetconfDataTreeServiceActor.java:70) ~[?:?]
      	at akka.actor.UntypedAbstractActor$$anonfun$receive$1.applyOrElse(AbstractActor.scala:332) ~[bundleFile:?]
      	at akka.actor.Actor.aroundReceive(Actor.scala:537) ~[bundleFile:?]
      	at akka.actor.Actor.aroundReceive$(Actor.scala:535) ~[bundleFile:?]
      	at akka.actor.AbstractActor.aroundReceive(AbstractActor.scala:220) ~[bundleFile:?]
      	at akka.actor.ActorCell.receiveMessage(ActorCell.scala:577) [bundleFile:?]
      	at akka.actor.ActorCell.invoke(ActorCell.scala:547) [bundleFile:?]
      	at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:270) [bundleFile:?]
      	at akka.dispatch.Mailbox.run(Mailbox.scala:231) [bundleFile:?]
      	at akka.dispatch.Mailbox.exec(Mailbox.scala:243) [bundleFile:?]
      	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) [?:?]
      	at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020) [?:?]
      	at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656) [?:?]
      	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594) [?:?]
      	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183) [?:?]
      

            ppuskar Peter Puškár
            sangwookha Sangwook Ha
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: