Details
-
Bug
-
Status: Resolved
-
Resolution: Done
-
Bugzilla Migration
-
None
-
Operating System: All
Platform: All
-
6621
Description
Scenario is ODL has active connection with router and BGP-LS updates are received from router, from which the linkstate topology has been generated. Now due to issue in BUG-6577 if ODL encounters a NullPointerException, it starts reporting ModifiedNodeDoesNotExistException exceptions someafter. If size of linkstate topology is big as in real-life network, excessive number of ModifiedNodeDoesNotExistException messages are logged and data in linkstate topology is never fully recovered
2016-09-01 20:22:43,127 | WARN | lt-dispatcher-57 | AbstractTopologyBuilder | 329 - org.opendaylight.bgpcep.bgp-topology-provider - 0.5.0.Beryllium | Transaction DOM-CHAIN-3414-0 committed successfully while exception captured. Rescheduling a restart of listener org.opendaylight.bgpcep.bgp.topology.provider.LinkstateTopologyBuilder@77b5737c
2016-09-01 20:22:53,349 | WARN | lt-dispatcher-26 | AbstractTopologyBuilder | 329 - org.opendaylight.bgpcep.bgp-topology-provider - 0.5.0.Beryllium | Data change org.opendaylight.controller.md.sal.binding.impl.LazyDataTreeModification@495dac96 (transaction DOM-CHAIN-3705-0) was not completely propagated to listener org.opendaylight.bgpcep.bgp.topology.provider.LinkstateTopologyBuilder@77b5737c
java.lang.NullPointerException
at org.opendaylight.bgpcep.bgp.topology.provider.UriBuilder.<init>(UriBuilder.java:43)[329:org.opendaylight.bgpcep.bgp-topology-provider:0.5.0.Beryllium]
at org.opendaylight.bgpcep.bgp.topology.provider.LinkstateTopologyBuilder.removeObject(LinkstateTopologyBuilder.java:933)[329:org.opendaylight.bgpcep.bgp-topology-provider:0.5.0.Beryllium]
at org.opendaylight.bgpcep.bgp.topology.provider.LinkstateTopologyBuilder.removeObject(LinkstateTopologyBuilder.java:124)[329:org.opendaylight.bgpcep.bgp-topology-provider:0.5.0.Beryllium]
at org.opendaylight.bgpcep.bgp.topology.provider.AbstractTopologyBuilder.routeChanged(AbstractTopologyBuilder.java:213)[329:org.opendaylight.bgpcep.bgp-topology-provider:0.5.0.Beryllium]
at org.opendaylight.bgpcep.bgp.topology.provider.AbstractTopologyBuilder.onDataTreeChanged(AbstractTopologyBuilder.java:175)[329:org.opendaylight.bgpcep.bgp-topology-provider:0.5.0.Beryllium]
at org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataTreeChangeListenerAdapter.onDataTreeChanged(BindingDOMDataTreeChangeListenerAdapter.java:41)[115:org.opendaylight.controller.sal-binding-broker-impl:1.3.0.Beryllium]
at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.dataChanged(DataTreeChangeListenerActor.java:53)[140:org.opendaylight.controller.sal-distributed-datastore:1.3.0.Beryllium]
at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.handleReceive(DataTreeChangeListenerActor.java:37)[140:org.opendaylight.controller.sal-distributed-datastore:1.3.0.Beryllium]
at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:34)[136:org.opendaylight.controller.sal-clustering-commons:1.3.0.Beryllium]
at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167)[125:com.typesafe.akka.actor:2.3.14]
at akka.actor.Actor$class.aroundReceive(Actor.scala:467)[125:com.typesafe.akka.actor:2.3.14]
at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:97)[125:com.typesafe.akka.actor:2.3.14]
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)[125:com.typesafe.akka.actor:2.3.14]
at akka.actor.ActorCell.invoke(ActorCell.scala:487)[125:com.typesafe.akka.actor:2.3.14]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)[125:com.typesafe.akka.actor:2.3.14]
at akka.dispatch.Mailbox.run(Mailbox.scala:220)[125:com.typesafe.akka.actor:2.3.14]
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397)[125:com.typesafe.akka.actor:2.3.14]
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[122:org.scala-lang.scala-library:2.11.7.v20150622-112736-1fbce4612c]
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)[122:org.scala-lang.scala-library:2.11.7.v20150622-112736-1fbce4612c]
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[122:org.scala-lang.scala-library:2.11.7.v20150622-112736-1fbce4612c]
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)[122:org.scala-lang.scala-library:2.11.7.v20150622-112736-1fbce4612c]
2016-09-01 20:22:53,352 | WARN | lt-dispatcher-26 | AbstractTopologyBuilder | 329 - org.opendaylight.bgpcep.bgp-topology-provider - 0.5.0.Beryllium | Transaction DOM-CHAIN-3705-0 committed successfully while exception captured. Rescheduling a restart of listener org.opendaylight.bgpcep.bgp.topology.provider.LinkstateTopologyBuilder@77b5737c
2016-09-01 20:23:44,305 | WARN | lt-dispatcher-46 | SimpleShardDataTreeCohort | 140 - org.opendaylight.controller.sal-distributed-datastore - 1.3.0.Beryllium | Store Tx member-2-chn-7519-txn-3-1472761424305: Data validation failed for path /(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)network-topology/topology/topology[
]/node/node[
{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node-id=bgpls://Ospf:2/type=node&as=65060&domain=167772369&area=0&router=167772367}].
org.opendaylight.yangtools.yang.data.api.schema.tree.ModifiedNodeDoesNotExistException: Node /(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)network-topology/topology/topology[
]/node/node[
{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node-id=bgpls://Ospf:2/type=node&as=65060&domain=167772369&area=0&router=167772367}] does not exist. Cannot apply modification to its children.
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:276)[56:org.opendaylight.yangtools.yang-data-impl:0.8.0.Beryllium]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:124)[56:org.opendaylight.yangtools.yang-data-impl:0.8.0.Beryllium]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:300)[56:org.opendaylight.yangtools.yang-data-impl:0.8.0.Beryllium]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:283)[56:org.opendaylight.yangtools.yang-data-impl:0.8.0.Beryllium]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.MinMaxElementsValidation.checkTouchApplicable(MinMaxElementsValidation.java:110)[56:org.opendaylight.yangtools.yang-data-impl:0.8.0.Beryllium]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:124)[56:org.opendaylight.yangtools.yang-data-impl:0.8.0.Beryllium]