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

Netconf notifications processing failing for odl-leaf-nodes-only

XMLWordPrintable

      In Phosphorus SR-1, after creating all streams via 

      http://127.0.0.1:8181/rests/data/ietf-restconf-monitoring:restconf-state/streams

      and then subscribing to the data-changed-notification stream and changing any data,

      the notification is not sent due to the following error:

      15:07:31.222 ERROR [opendaylight-cluster-data-notification-dispatcher-56] Failed to process notification DefaultDataTreeCandidate{rootPath=/(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)network-topology, rootNode=ChildNode{mod = ModifiedNode{identifier=(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)network-topology, operation=MERGE, modificationType=SUBTREE_MODIFIED, childModification={(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology=ModifiedNode{identifier=(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology, operation=TOUCH, modificationType=SUBTREE_MODIFIED, childModification={(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology[{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology-id=topology-netconf}]=ModifiedNode{identifier=(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology[{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology-id=topology-netconf}], operation=MERGE, modificationType=SUBTREE_MODIFIED, childModification={(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology-id=ModifiedNode{identifier=(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology-id, operation=MERGE, modificationType=WRITE}, (urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node=ModifiedNode{identifier=(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node, operation=TOUCH, modificationType=APPEARED, childModification={(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node[{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node-id=testtool}]=ModifiedNode{identifier=(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node[{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node-id=testtool}], operation=WRITE, modificationType=WRITE}}}}}}}}}, oldMeta = MaterializedContainerNode{version=org.opendaylight.yangtools.yang.data.spi.tree.Version@71beb194, subtreeVersion=org.opendaylight.yangtools.yang.data.spi.tree.Version@7c9ef6d2, children={(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology=MaterializedContainerNode{version=org.opendaylight.yangtools.yang.data.spi.tree.Version@71beb194, subtreeVersion=org.opendaylight.yangtools.yang.data.spi.tree.Version@7c9ef6d2, children={(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology[{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology-id=topology-netconf}]=MaterializedContainerNode{version=org.opendaylight.yangtools.yang.data.spi.tree.Version@71beb194, subtreeVersion=org.opendaylight.yangtools.yang.data.spi.tree.Version@7c9ef6d2, children={(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology-id=ValueNode{version=org.opendaylight.yangtools.yang.data.spi.tree.Version@3a2b9b18, value=ImmutableLeafNode{identifier=(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology-id, body=topology-netconf}}}}}}}}, newMeta = MaterializedContainerNode{version=org.opendaylight.yangtools.yang.data.spi.tree.Version@71beb194, subtreeVersion=org.opendaylight.yangtools.yang.data.spi.tree.Version@1b04de39, children={(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology=MaterializedContainerNode{version=org.opendaylight.yangtools.yang.data.spi.tree.Version@71beb194, subtreeVersion=org.opendaylight.yangtools.yang.data.spi.tree.Version@1b04de39, children={(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology[{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology-id=topology-netconf}]=MaterializedContainerNode{version=org.opendaylight.yangtools.yang.data.spi.tree.Version@71beb194, subtreeVersion=org.opendaylight.yangtools.yang.data.spi.tree.Version@1b04de39, children={(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology-id=ValueNode{version=org.opendaylight.yangtools.yang.data.spi.tree.Version@1b04de39, value=ImmutableLeafNode{identifier=(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology-id, body=topology-netconf}}, (urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node=SimpleContainerNode{version=org.opendaylight.yangtools.yang.data.spi.tree.Version@1b04de39, data=ImmutableMapNode{identifier=(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node, body=[ImmutableMapEntryNode{identifier=(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node[{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node-id=testtool}], body=[ImmutableLeafNode{identifier=(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node-id, body=testtool}, ImmutableAugmentationNode{identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:netconf-node-topology?revision=2015-01-14)sleep-factor, (urn:opendaylight:netconf-node-topology?revision=2015-01-14)default-request-timeout-millis, (urn:opendaylight:netconf-node-topology?revision=2015-01-14)ignore-missing-schema-sources, (urn:opendaylight:netconf-node-topology?revision=2015-01-14)yang-module-capabilities, (urn:opendaylight:netconf-node-topology?revision=2015-01-14)host, (urn:opendaylight:netconf-node-topology?revision=2015-01-14)yang-library, (urn:opendaylight:netconf-node-topology?revision=2015-01-14)schemaless, (urn:opendaylight:netconf-node-topology?revision=2015-01-14)reconnect-on-changed-schema, (urn:opendaylight:netconf-node-topology?revision=2015-01-14)clustered-connection-status, (urn:opendaylight:netconf-node-topology?revision=2015-01-14)odl-hello-message-capabilities, (urn:opendaylight:netconf-node-topology?revision=2015-01-14)schema-cache-directory, (urn:opendaylight:netconf-node-topology?revision=2015-01-14)credentials, (urn:opendaylight:netconf-node-topology?revision=2015-01-14)concurrent-rpc-limit, (urn:opendaylight:netconf-node-topology?revision=2015-01-14)unavailable-capabilities, (urn:opendaylight:netconf-node-topology?revision=2015-01-14)port, (urn:opendaylight:netconf-node-topology?revision=2015-01-14)connection-timeout-millis, (urn:opendaylight:netconf-node-topology?revision=2015-01-14)tcp-only, (urn:opendaylight:netconf-node-topology?revision=2015-01-14)non-module-capabilities, (urn:opendaylight:netconf-node-topology?revision=2015-01-14)pass-through, (urn:opendaylight:netconf-node-topology?revision=2015-01-14)protocol, (urn:opendaylight:netconf-node-topology?revision=2015-01-14)between-attempts-timeout-millis, (urn:opendaylight:netconf-node-topology?revision=2015-01-14)actor-response-wait-time, (urn:opendaylight:netconf-node-topology?revision=2015-01-14)connection-status, (urn:opendaylight:netconf-node-topology?revision=2015-01-14)connected-message, (urn:opendaylight:netconf-node-topology?revision=2015-01-14)max-connection-attempts, (urn:opendaylight:netconf-node-topology?revision=2015-01-14)available-capabilities, (urn:opendaylight:netconf-node-topology?revision=2015-01-14)keepalive-delay]}, body=[ImmutableLeafNode{identifier=(urn:opendaylight:netconf-node-topology?revision=2015-01-14)connection-status, body=connecting}, ImmutableLeafNode{identifier=(urn:opendaylight:netconf-node-topology?revision=2015-01-14)port, body=36000}, ImmutableLeafNode{identifier=(urn:opendaylight:netconf-node-topology?revision=2015-01-14)host, body=127.0.0.1}]}]}]}}}}}}}}}}
      java.lang.UnsupportedOperationException: Augmentation node has no QName
       at org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier$AugmentationIdentifier.getNodeType(YangInstanceIdentifier.java:915) ~[bundleFile:?]
       at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) ~[?:?]
       at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) ~[?:?]
       at java.util.ArrayDeque$DeqSpliterator.forEachRemaining(ArrayDeque.java:849) ~[?:?]
       at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[?:?]
       at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?]
       at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) ~[?:?]
       at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
       at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) ~[?:?]
       at org.opendaylight.restconf.common.serializer.JsonDataTreeCandidateSerializer.serializeData(JsonDataTreeCandidateSerializer.java:43) ~[bundleFile:?]
       at org.opendaylight.restconf.common.serializer.AbstractWebsocketSerializer.serializeLeafNodesOnly(AbstractWebsocketSerializer.java:70) ~[bundleFile:?]
       at org.opendaylight.restconf.common.serializer.AbstractWebsocketSerializer.serializeLeafNodesOnly(AbstractWebsocketSerializer.java:76) ~[bundleFile:?]
       at org.opendaylight.restconf.common.serializer.AbstractWebsocketSerializer.serializeLeafNodesOnly(AbstractWebsocketSerializer.java:76) ~[bundleFile:?]
       at org.opendaylight.restconf.common.serializer.AbstractWebsocketSerializer.serializeLeafNodesOnly(AbstractWebsocketSerializer.java:76) ~[bundleFile:?]
       at org.opendaylight.restconf.common.serializer.AbstractWebsocketSerializer.serializeLeafNodesOnly(AbstractWebsocketSerializer.java:76) ~[bundleFile:?]
       at org.opendaylight.restconf.common.serializer.AbstractWebsocketSerializer.serializeLeafNodesOnly(AbstractWebsocketSerializer.java:76) ~[bundleFile:?]
       at org.opendaylight.restconf.common.serializer.AbstractWebsocketSerializer.serializeLeafNodesOnly(AbstractWebsocketSerializer.java:76) ~[bundleFile:?]
       at org.opendaylight.restconf.common.serializer.AbstractWebsocketSerializer.serialize(AbstractWebsocketSerializer.java:36) ~[bundleFile:?]
       at org.opendaylight.restconf.common.formatters.JSONDataTreeCandidateFormatter.createText(JSONDataTreeCandidateFormatter.java:73) ~[bundleFile:?]
       at org.opendaylight.restconf.common.formatters.JSONDataTreeCandidateFormatter.createText(JSONDataTreeCandidateFormatter.java:26) ~[bundleFile:?]
       at org.opendaylight.restconf.common.formatters.EventFormatter.eventData(EventFormatter.java:76) ~[bundleFile:?]
       at org.opendaylight.restconf.nb.rfc8040.streams.listeners.ListenerAdapter.onDataTreeChanged(ListenerAdapter.java:78) ~[bundleFile:?]
       at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.dataTreeChanged(DataTreeChangeListenerActor.java:84) ~[bundleFile:?]
       at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.handleReceive(DataTreeChangeListenerActor.java:45) ~[bundleFile:?]
       at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:24) [bundleFile:?]
       at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:20) [bundleFile:?]
       at scala.PartialFunction.applyOrElse(PartialFunction.scala:189) [bundleFile:?]
       at scala.PartialFunction.applyOrElse$(PartialFunction.scala:188) [bundleFile:?]
       at akka.japi.pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:20) [bundleFile:?]
       at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:244) [bundleFile:?]
       at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:245) [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:580) [bundleFile:?]
       at akka.actor.ActorCell.invoke(ActorCell.scala:548) [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) [?:?]

      Not sure if this issue is problem in notification creation process or it is yangtools problem and this bug belongs there.

            ppuskar Peter Puškár
            ppuskar Peter Puškár
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: