[TOPOPROCES-76] Updating a matched link src/dest to non-existing node does not remove it from overlay topology Created: 07/Jun/16  Updated: 19/Oct/17  Resolved: 08/Jun/16

Status: Resolved
Project: topoprocessing
Component/s: General
Affects Version/s: unspecified
Fix Version/s: None

Type: Bug
Reporter: Martin Dindoffer Assignee: Unassigned
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issue Links:
Duplicate
duplicates TOPOPROCES-74 Fail updating of links Resolved
External issue ID: 6025

 Description   

The underlaying link does get updated properly, however the overlaying topology stays intact, with the old link info.

The attempt to remove the link from overlay topology produces this exception:

2016-06-07 19:33:44,005 | ERROR | n-dispatcher-174 | DataTreeChangeListenerActor | 171 - org.opendaylight.controller.sal-distributed-datastore - 1.4.0.SNAPSHOT | Error notifying listener org.opendaylight.topoprocessing.nt.listener.NTUnderlayTopologyListener@167b2464
java.lang.NullPointerException: Tree must not be null
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:226)[52:com.google.guava:18.0.0]
at org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodes.findNode(NormalizedNodes.java:77)[93:org.opendaylight.yangtools.yang-data-api:1.0.0.SNAPSHOT]
at org.opendaylight.topoprocessing.nt.translator.NTLinkTranslator.translate(NTLinkTranslator.java:87)[285:org.opendaylight.topoprocessing.nt:0.2.0.SNAPSHOT]
at org.opendaylight.topoprocessing.impl.translator.OverlayItemTranslator.translate(OverlayItemTranslator.java:47)[176:org.opendaylight.topoprocessing.impl:0.2.0.SNAPSHOT]
at org.opendaylight.topoprocessing.impl.writer.TopologyWriter.writeItem(TopologyWriter.java:155)[176:org.opendaylight.topoprocessing.impl:0.2.0.SNAPSHOT]
at org.opendaylight.topoprocessing.impl.operator.TopologyManager.removeOverlayItem(TopologyManager.java:147)[176:org.opendaylight.topoprocessing.impl:0.2.0.SNAPSHOT]
at org.opendaylight.topoprocessing.impl.operator.LinkCalculator.removeMatchedLink(LinkCalculator.java:207)[176:org.opendaylight.topoprocessing.impl:0.2.0.SNAPSHOT]
at org.opendaylight.topoprocessing.impl.operator.LinkCalculator.processUpdatedChanges(LinkCalculator.java:109)[176:org.opendaylight.topoprocessing.impl:0.2.0.SNAPSHOT]
at org.opendaylight.topoprocessing.impl.listener.UnderlayTopologyListener.proceedChangeRequest(UnderlayTopologyListener.java:149)[176:org.opendaylight.topoprocessing.impl:0.2.0.SNAPSHOT]
at org.opendaylight.topoprocessing.impl.listener.UnderlayTopologyListener.onDataTreeChanged(UnderlayTopologyListener.java:85)[176:org.opendaylight.topoprocessing.impl:0.2.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.dataChanged(DataTreeChangeListenerActor.java:55)[171:org.opendaylight.controller.sal-distributed-datastore:1.4.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.handleReceive(DataTreeChangeListenerActor.java:37)[171:org.opendaylight.controller.sal-distributed-datastore:1.4.0.SNAPSHOT]
at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:25)[166:org.opendaylight.controller.sal-clustering-commons:1.4.0.SNAPSHOT]
at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:165)[154:com.typesafe.akka.actor:2.4.4]
at akka.actor.Actor$class.aroundReceive(Actor.scala:482)[154:com.typesafe.akka.actor:2.4.4]
at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:95)[154:com.typesafe.akka.actor:2.4.4]
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:526)[154:com.typesafe.akka.actor:2.4.4]
at akka.actor.ActorCell.invoke(ActorCell.scala:495)[154:com.typesafe.akka.actor:2.4.4]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)[154:com.typesafe.akka.actor:2.4.4]
at akka.dispatch.Mailbox.run(Mailbox.scala:224)[154:com.typesafe.akka.actor:2.4.4]
at akka.dispatch.Mailbox.exec(Mailbox.scala:234)[154:com.typesafe.akka.actor:2.4.4]
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[150:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)[150:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[150:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)[150:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]



 Comments   
Comment by Martin Dindoffer [ 08/Jun/16 ]

Actually a consequence of TOPOPROCES-74

Generated at Wed Feb 07 20:40:37 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.