[CONTROLLER-705] Clustering : Exception when reading data - Metadata not available for modification Created: 19/Aug/14  Updated: 12/Sep/14  Resolved: 12/Sep/14

Status: Resolved
Project: controller
Component/s: mdsal
Affects Version/s: Helium
Fix Version/s: None

Type: Bug
Reporter: Moiz Raja Assignee: Moiz Raja
Resolution: Cannot Reproduce Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Mac OS
Platform: PC


External issue ID: 1579

 Description   

2014-08-19 05:08:01.238 PDT [opendaylight-cluster-data-akka.actor.default-dispatcher-17] ERROR o.o.y.y.d.i.s.t.InMemoryDataTreeModification - Could not create snapshot for (urn:opendaylight:inventory?revision=2013-08-19)nodes/(urn:opendaylight:inventory?revision=2013-08-19)node/(urn:opendaylight:inventory?revision=2013-08-19)node[

{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:1}

]:NodeModification [identifier=(urn:opendaylight:inventory?revision=2013-08-19)node[

{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:1}

], modificationType=SUBTREE_MODIFIED, childModification={(urn:opendaylight:inventory?revision=2013-08-19)node-connector=NodeModification [identifier=(urn:opendaylight:inventory?revision=2013-08-19)node-connector, modificationType=MERGE, childModification={(urn:opendaylight:inventory?revision=2013-08-19)node-connector[

{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:1:2}

]=NodeModification [identifier=(urn:opendaylight:inventory?revision=2013-08-19)node-connector[

{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:1:2}

], modificationType=WRITE, childModification={}], (urn:opendaylight:inventory?revision=2013-08-19)node-connector[

{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:1:LOCAL}

]=NodeModification [identifier=(urn:opendaylight:inventory?revision=2013-08-19)node-connector[

{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:1:LOCAL}

], modificationType=WRITE, childModification={}]}]}]
java.lang.IllegalArgumentException: Metadata not available for modification [NodeModification [identifier=(urn:opendaylight:inventory?revision=2013-08-19)node[

{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:1}

], modificationType=SUBTREE_MODIFIED, childModification={(urn:opendaylight:inventory?revision=2013-08-19)node-connector=NodeModification [identifier=(urn:opendaylight:inventory?revision=2013-08-19)node-connector, modificationType=MERGE, childModification={(urn:opendaylight:inventory?revision=2013-08-19)node-connector[

{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:1:2}

]=NodeModification [identifier=(urn:opendaylight:inventory?revision=2013-08-19)node-connector[

{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:1:2}

], modificationType=WRITE, childModification={}], (urn:opendaylight:inventory?revision=2013-08-19)node-connector[

{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:1:LOCAL}

]=NodeModification [identifier=(urn:opendaylight:inventory?revision=2013-08-19)node-connector[

{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:1:LOCAL}

], modificationType=WRITE, childModification={}]}]}]]
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:119) ~[bundlefile:na]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:186) ~[bundlefile:na]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.InMemoryDataTreeModification.resolveSnapshot(InMemoryDataTreeModification.java:110) [bundlefile:na]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.InMemoryDataTreeModification.readNode(InMemoryDataTreeModification.java:93) [bundlefile:na]
at org.opendaylight.controller.md.sal.dom.store.impl.SnapshotBackedReadWriteTransaction.read(SnapshotBackedReadWriteTransaction.java:58) [bundlefile:na]
at org.opendaylight.controller.cluster.datastore.ShardTransaction.readData(ShardTransaction.java:188) [bundlefile:na]
at org.opendaylight.controller.cluster.datastore.ShardReadWriteTransaction.handleReceive(ShardReadWriteTransaction.java:50) [bundlefile:na]
at org.opendaylight.controller.cluster.datastore.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:31) [bundlefile:na]
at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167) [akka-actor_2.10-2.3.4.jar:na]
at akka.actor.Actor$class.aroundReceive(Actor.scala:465) [akka-actor_2.10-2.3.4.jar:na]
at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:97) [akka-actor_2.10-2.3.4.jar:na]
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516) [akka-actor_2.10-2.3.4.jar:na]
at akka.actor.ActorCell.invoke(ActorCell.scala:487) [akka-actor_2.10-2.3.4.jar:na]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238) [akka-actor_2.10-2.3.4.jar:na]
at akka.dispatch.Mailbox.run(Mailbox.scala:220) [akka-actor_2.10-2.3.4.jar:na]
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393) [akka-actor_2.10-2.3.4.jar:na]
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:262) [scala-library-2.10.1.jar:na]
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:975) [scala-library-2.10.1.jar:na]
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1478) [scala-library-2.10.1.jar:na]
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104) [scala-library-2.10.1.jar:na]
2014-08-19 05:08:01.240 PDT [opendaylight-cluster-data-akka.actor.default-dispatcher-17] ERROR o.o.c.m.s.d.s.i.SnapshotBackedReadWriteTransaction - Tx: member-1-shard-inventory-operational-8 Failed Read of (urn:opendaylight:inventory?revision=2013-08-19)nodes/(urn:opendaylight:inventory?revision=2013-08-19)node/(urn:opendaylight:inventory?revision=2013-08-19)node[

{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:1}

]/AugmentationIdentifier

{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)table, (urn:opendaylight:flow:inventory?revision=2013-08-19)meter, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-instructions, (urn:opendaylight:flow:inventory?revision=2013-08-19)switch-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)group, (urn:opendaylight:flow:inventory?revision=2013-08-19)manufacturer, (urn:opendaylight:flow:inventory?revision=2013-08-19)hardware, (urn:opendaylight:flow:inventory?revision=2013-08-19)software, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-actions, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-match-types, (urn:opendaylight:flow:inventory?revision=2013-08-19)description, (urn:opendaylight:flow:inventory?revision=2013-08-19)serial-number]}

java.lang.IllegalArgumentException: Metadata not available for modification [NodeModification [identifier=(urn:opendaylight:inventory?revision=2013-08-19)node[

{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:1}

], modificationType=SUBTREE_MODIFIED, childModification={(urn:opendaylight:inventory?revision=2013-08-19)node-connector=NodeModification [identifier=(urn:opendaylight:inventory?revision=2013-08-19)node-connector, modificationType=MERGE, childModification={(urn:opendaylight:inventory?revision=2013-08-19)node-connector[

{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:1:2}

]=NodeModification [identifier=(urn:opendaylight:inventory?revision=2013-08-19)node-connector[

{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:1:2}

], modificationType=WRITE, childModification={}], (urn:opendaylight:inventory?revision=2013-08-19)node-connector[

{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:1:LOCAL}

]=NodeModification [identifier=(urn:opendaylight:inventory?revision=2013-08-19)node-connector[

{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:1:LOCAL}

], modificationType=WRITE, childModification={}]}]}]]
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:119) ~[bundlefile:na]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:186) ~[na:na]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.InMemoryDataTreeModification.resolveSnapshot(InMemoryDataTreeModification.java:110) ~[na:na]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.InMemoryDataTreeModification.readNode(InMemoryDataTreeModification.java:93) ~[na:na]
at org.opendaylight.controller.md.sal.dom.store.impl.SnapshotBackedReadWriteTransaction.read(SnapshotBackedReadWriteTransaction.java:58) ~[bundlefile:na]
at org.opendaylight.controller.cluster.datastore.ShardTransaction.readData(ShardTransaction.java:188) [bundlefile:na]
at org.opendaylight.controller.cluster.datastore.ShardReadWriteTransaction.handleReceive(ShardReadWriteTransaction.java:50) [bundlefile:na]
at org.opendaylight.controller.cluster.datastore.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:31) [bundlefile:na]
at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167) [akka-actor_2.10-2.3.4.jar:na]
at akka.actor.Actor$class.aroundReceive(Actor.scala:465) [akka-actor_2.10-2.3.4.jar:na]
at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:97) [akka-actor_2.10-2.3.4.jar:na]
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516) [akka-actor_2.10-2.3.4.jar:na]
at akka.actor.ActorCell.invoke(ActorCell.scala:487) [akka-actor_2.10-2.3.4.jar:na]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238) [akka-actor_2.10-2.3.4.jar:na]
at akka.dispatch.Mailbox.run(Mailbox.scala:220) [akka-actor_2.10-2.3.4.jar:na]
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393) [akka-actor_2.10-2.3.4.jar:na]
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:262) [scala-library-2.10.1.jar:na]
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:975) [scala-library-2.10.1.jar:na]
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1478) [scala-library-2.10.1.jar:na]
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104) [scala-library-2.10.1.jar:na]



 Comments   
Comment by Moiz Raja [ 19/Aug/14 ]

This issue can be reproduced by simply creating a simple topology with mininet

Comment by Tony Tkacik [ 21/Aug/14 ]

This is following
initial state of datastore is only:

nodes {

}

tx = newReadWriteTransaction()
tx.put("nodes/node[foo]/node-connector", data) // Without create parents
tx.read("nodes/node[foo]/"); // read from same transaction.

Comment by Moiz Raja [ 12/Sep/14 ]

This does not appear to be a datastore issue then

Comment by Moiz Raja [ 12/Sep/14 ]

This cannot be reproduced now. Was most likely an issue with applications that appears to be fixed.

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