[BGPCEP-817] RT-Constrain app peer route UnsupportedOperationException: null Created: 01/Aug/18 Updated: 30/Aug/18 Resolved: 30/Aug/18 |
|
| Status: | Verified |
| Project: | bgpcep |
| Component/s: | BGP |
| Affects Version/s: | Fluorine |
| Fix Version/s: | Fluorine |
| Type: | Bug | Priority: | Medium |
| Reporter: | Tomas Markovic | Assignee: | Matej Perina |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
| Description |
|
Overview: Running latest odl with app peer and ibgp peer configured. Simply adding RT_Constrain route into app peer results in error. steps to reproduce:
It's not even necessary to connect peer to ibgp, this still results in error. ERROR: 018-08-01T14:47:44,684 | ERROR | opendaylight-cluster-data-notification-dispatcher-46 | DataTreeChangeListenerActor | 247 - org.opendaylight.controller.sal-clustering-commons - 1.8.0.SNAPSHOT | member-1-shard-default-operational: Error notifying listener org.opendaylight.controller.sal.core.compat.LegacyDOMDataBrokerAdapter$2$$Lambda$1091/173132953@2a580eb2 java.lang.IllegalStateException: New transaction PingPongTransaction{delegate=org.opendaylight.controller.sal.core.compat.LegacyDOMDataBrokerAdapter$DOMDataTransactionAdapter@53ce840e} raced with transaction PingPongTransaction{delegate=org.opendaylight.controller.sal.core.compat.LegacyDOMDataBrokerAdapter$DOMDataTransactionAdapter@75c987a7} at org.opendaylight.controller.md.sal.dom.broker.impl.PingPongTransactionChain.slowAllocateTransaction(PingPongTransactionChain.java:180) ~[244:org.opendaylight.controller.sal-broker-impl:1.8.0.SNAPSHOT] at org.opendaylight.controller.md.sal.dom.broker.impl.PingPongTransactionChain.allocateTransaction(PingPongTransactionChain.java:192) ~[244:org.opendaylight.controller.sal-broker-impl:1.8.0.SNAPSHOT] at org.opendaylight.controller.md.sal.dom.broker.impl.PingPongTransactionChain.newReadWriteTransaction(PingPongTransactionChain.java:442) ~[244:org.opendaylight.controller.sal-broker-impl:1.8.0.SNAPSHOT] at org.opendaylight.controller.md.sal.dom.broker.impl.PingPongTransactionChain.newWriteOnlyTransaction(PingPongTransactionChain.java:477) ~[244:org.opendaylight.controller.sal-broker-impl:1.8.0.SNAPSHOT] at org.opendaylight.controller.md.sal.binding.impl.BindingDOMTransactionChainAdapter.newWriteOnlyTransaction(BindingDOMTransactionChainAdapter.java:75) ~[242:org.opendaylight.controller.sal-binding-broker-impl:1.8.0.SNAPSHOT] at org.opendaylight.protocol.bgp.rib.impl.EffectiveRibInWriter.onDataTreeChanged(EffectiveRibInWriter.java:163) ~[217:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT] at org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataTreeChangeListenerAdapter.onDataTreeChanged(BindingDOMDataTreeChangeListenerAdapter.java:42) ~[242:org.opendaylight.controller.sal-binding-broker-impl:1.8.0.SNAPSHOT] at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.dataChanged(DataTreeChangeListenerActor.java:67) [255:org.opendaylight.controller.sal-distributed-datastore:1.8.0.SNAPSHOT] at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.handleReceive(DataTreeChangeListenerActor.java:41) [255:org.opendaylight.controller.sal-distributed-datastore:1.8.0.SNAPSHOT] at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:38) [247:org.opendaylight.controller.sal-clustering-commons:1.8.0.SNAPSHOT] at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167) [78:com.typesafe.akka.actor:2.5.11] at akka.actor.Actor.aroundReceive(Actor.scala:517) [78:com.typesafe.akka.actor:2.5.11] at akka.actor.Actor.aroundReceive$(Actor.scala:515) [78:com.typesafe.akka.actor:2.5.11] at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:97) [78:com.typesafe.akka.actor:2.5.11] at akka.actor.ActorCell.receiveMessage(ActorCell.scala:590) [78:com.typesafe.akka.actor:2.5.11] at akka.actor.ActorCell.invoke(ActorCell.scala:559) [78:com.typesafe.akka.actor:2.5.11] at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257) [78:com.typesafe.akka.actor:2.5.11] at akka.dispatch.Mailbox.run(Mailbox.scala:224) [78:com.typesafe.akka.actor:2.5.11] at akka.dispatch.Mailbox.exec(Mailbox.scala:234) [78:com.typesafe.akka.actor:2.5.11] at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) [78:com.typesafe.akka.actor:2.5.11] at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) [78:com.typesafe.akka.actor:2.5.11] at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) [78:com.typesafe.akka.actor:2.5.11] at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) [78:com.typesafe.akka.actor:2.5.11] 2018-08-01T14:47:46,793 | ERROR | opendaylight-cluster-data-notification-dispatcher-46 | DataTreeChangeListenerActor | 247 - org.opendaylight.controller.sal-clustering-commons - 1.8.0.SNAPSHOT | member-1-shard-default-operational: Error notifying listener org.opendaylight.controller.sal.core.compat.LegacyDOMDataBrokerAdapter$2$$Lambda$1091/173132953@2a580eb2 java.lang.IllegalStateException: New transaction PingPongTransaction{delegate=org.opendaylight.controller.sal.core.compat.LegacyDOMDataBrokerAdapter$DOMDataTransactionAdapter@6f835bdc} raced with transaction PingPongTransaction{delegate=org.opendaylight.controller.sal.core.compat.LegacyDOMDataBrokerAdapter$DOMDataTransactionAdapter@75c987a7} at org.opendaylight.controller.md.sal.dom.broker.impl.PingPongTransactionChain.slowAllocateTransaction(PingPongTransactionChain.java:180) ~[244:org.opendaylight.controller.sal-broker-impl:1.8.0.SNAPSHOT] at org.opendaylight.controller.md.sal.dom.broker.impl.PingPongTransactionChain.allocateTransaction(PingPongTransactionChain.java:192) ~[244:org.opendaylight.controller.sal-broker-impl:1.8.0.SNAPSHOT] at org.opendaylight.controller.md.sal.dom.broker.impl.PingPongTransactionChain.newReadWriteTransaction(PingPongTransactionChain.java:442) ~[244:org.opendaylight.controller.sal-broker-impl:1.8.0.SNAPSHOT] at org.opendaylight.controller.md.sal.dom.broker.impl.PingPongTransactionChain.newWriteOnlyTransaction(PingPongTransactionChain.java:477) ~[244:org.opendaylight.controller.sal-broker-impl:1.8.0.SNAPSHOT] at org.opendaylight.controller.md.sal.binding.impl.BindingDOMTransactionChainAdapter.newWriteOnlyTransaction(BindingDOMTransactionChainAdapter.java:75) ~[242:org.opendaylight.controller.sal-binding-broker-impl:1.8.0.SNAPSHOT] at org.opendaylight.protocol.bgp.rib.impl.EffectiveRibInWriter.onDataTreeChanged(EffectiveRibInWriter.java:163) ~[217:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT] at org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataTreeChangeListenerAdapter.onDataTreeChanged(BindingDOMDataTreeChangeListenerAdapter.java:42) ~[242:org.opendaylight.controller.sal-binding-broker-impl:1.8.0.SNAPSHOT] at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.dataChanged(DataTreeChangeListenerActor.java:67) [255:org.opendaylight.controller.sal-distributed-datastore:1.8.0.SNAPSHOT] at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.handleReceive(DataTreeChangeListenerActor.java:41) [255:org.opendaylight.controller.sal-distributed-datastore:1.8.0.SNAPSHOT] at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:38) [247:org.opendaylight.controller.sal-clustering-commons:1.8.0.SNAPSHOT] at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167) [78:com.typesafe.akka.actor:2.5.11] at akka.actor.Actor.aroundReceive(Actor.scala:517) [78:com.typesafe.akka.actor:2.5.11] at akka.actor.Actor.aroundReceive$(Actor.scala:515) [78:com.typesafe.akka.actor:2.5.11] at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:97) [78:com.typesafe.akka.actor:2.5.11] at akka.actor.ActorCell.receiveMessage(ActorCell.scala:590) [78:com.typesafe.akka.actor:2.5.11] at akka.actor.ActorCell.invoke(ActorCell.scala:559) [78:com.typesafe.akka.actor:2.5.11] at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257) [78:com.typesafe.akka.actor:2.5.11] at akka.dispatch.Mailbox.run(Mailbox.scala:224) [78:com.typesafe.akka.actor:2.5.11] at akka.dispatch.Mailbox.exec(Mailbox.scala:234) [78:com.typesafe.akka.actor:2.5.11] at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) [78:com.typesafe.akka.actor:2.5.11] at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) [78:com.typesafe.akka.actor:2.5.11] at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) [78:com.typesafe.akka.actor:2.5.11] at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) [78:com.typesafe.akka.actor:2.5.11] |
| Comments |
| Comment by Claudio David Gasparini [ 01/Aug/18 ] |
|
Main issue here is that Route target should never advertized by APP Peer, basically does not need to advertize RT since no route is advertized to application peers. But for make easier for tester to check serialing of RT routes under jenkins we will allow it. Anyway documentation should be updated, and removed the description added for publish routes by app. |
| Comment by Claudio David Gasparini [ 01/Aug/18 ] |
|
matej.perina Please update doc, and assign patch to this task.
Regards, |