[INTTEST-22] Use a different prefix for new producer in scenarios when the previos producer is not certainly aborted Created: 29/May/17 Updated: 19/Oct/17 Resolved: 07/Jun/17 |
|
| Status: | Resolved |
| Project: | integration-test |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Vratko Polak | Assignee: | Unassigned |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: All |
||
| Description |
|
We have a scenario with 3 producers, we isolate one of them for a long time (expecting it to abort on RequestTimeout) and then creating another producer to prove mdsal still works. But recently (in a Sandbox run which failed to archive logs) I have seen [0] the error below. If the isolated producer is still alive, the suite would detect that anyway. Using different prefix will avoid having to parse the new error. h3>Caused by:</h3><pre>java.lang.IllegalArgumentException: Subtree DOMDataTreeIdentifier{datastore=CONFIGURATION, root=/(tag:opendaylight.org,2017:controller:yang:lowlevel:target?revision=2017-02-15)id-ints/id-int/id-int[ {(tag:opendaylight.org,2017:controller:yang:lowlevel:target?revision=2017-02-15)id=prefix-1}]} is attached to producer org.opendaylight.mdsal.dom.broker.ShardedDOMDataTreeProducer@945995f at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145) at org.opendaylight.mdsal.dom.broker.ShardedDOMDataTree.createProducer(ShardedDOMDataTree.java:144) at org.opendaylight.controller.cluster.sharding.DistributedShardedDOMDataTree.localCreateProducer(DistributedShardedDOMDataTree.java:473) at org.opendaylight.controller.cluster.sharding.ShardedDataTreeActor.onNotifyProducerCreated(ShardedDataTreeActor.java:264) at org.opendaylight.controller.cluster.sharding.ShardedDataTreeActor.handleCommand(ShardedDataTreeActor.java:151) at org.opendaylight.controller.cluster.common.actor.AbstractUntypedPersistentActor.onReceiveCommand(AbstractUntypedPersistentActor.java:31) at akka.persistence.UntypedPersistentActor.onReceive(PersistentActor.scala:170) at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:165) at akka.actor.Actor$class.aroundReceive(Actor.scala:497) at akka.persistence.UntypedPersistentActor.akka$persistence$Eventsourced$$super$aroundReceive(PersistentActor.scala:168) at akka.persistence.Eventsourced$$anon$1.stateReceive(Eventsourced.scala:664) at akka.persistence.Eventsourced$class.aroundReceive(Eventsourced.scala:183) at akka.persistence.UntypedPersistentActor.aroundReceive(PersistentActor.scala:168) at akka.actor.ActorCell.receiveMessage(ActorCell.scala:526) at akka.actor.ActorCell.invoke(ActorCell.scala:495) at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257) at akka.dispatch.Mailbox.run(Mailbox.scala:224) at akka.dispatch.Mailbox.exec(Mailbox.scala:234) at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) |
| Comments |
| Comment by Vratko Polak [ 05/Jun/17 ] |
|
To be clear, by "different prefix" I mean different id, which means changing suites both for module-based shards and suite-based shards. |
| Comment by Peter Gubka [ 05/Jun/17 ] |