Uploaded image for project: 'yangtools'
  1. yangtools
  2. YANGTOOLS-565

ordered-by user for leaf-list throws commit exception

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Resolution: Duplicate
    • None
    • None
    • None
    • None
    • Operating System: All
      Platform: All

    • 4880

    Description

      I added "ordered-by user" to preserve the order in which I created that leaf-list. However, now I am unable to write to the datastore for that augmentation and commit throws an exception.

      augment "/inv:node
      ext:augment-identifier resource-list;
      leaf-list resource

      { + ordered-by user; type inet:uri; }

      Here is the exception I get:

      2016-01-05 09:07:02,423 | ERROR | ult-dispatcher-2 | LocalThreePhaseCommitCohort | 155 - org.opendaylight.controller.sal-distributed-datastore - 1.2.0.Lithium | Failed to prepare transaction member-1-txn-137 on backend
      java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException
      at com.google.common.util.concurrent.Futures$ImmediateFailedFuture.get(Futures.java:190)[37:com.google.guava:18.0.0]
      at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.doCommit(ShardCommitCoordinator.java:357)[155:org.opendaylight.controller.sal-distributed-datastore:1.2.0.Lithium]
      at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.doCanCommit(ShardCommitCoordinator.java:316)[155:org.opendaylight.controller.sal-distributed-datastore:1.2.0.Lithium]
      at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.handleCanCommit(ShardCommitCoordinator.java:268)[155:org.opendaylight.controller.sal-distributed-datastore:1.2.0.Lithium]
      at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.handleReadyLocalTransaction(ShardCommitCoordinator.java:240)[155:org.opendaylight.controller.sal-distributed-datastore:1.2.0.Lithium]
      at org.opendaylight.controller.cluster.datastore.Shard.handleReadyLocalTransaction(Shard.java:456)[155:org.opendaylight.controller.sal-distributed-datastore:1.2.0.Lithium]
      at org.opendaylight.controller.cluster.datastore.Shard.onReceiveCommand(Shard.java:239)[155:org.opendaylight.controller.sal-distributed-datastore:1.2.0.Lithium]
      at akka.persistence.UntypedPersistentActor.onReceive(Eventsourced.scala:430)[145:com.typesafe.akka.persistence.experimental:2.3.10]
      at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:97)[147:org.opendaylight.controller.sal-clustering-commons:1.2.0.Lithium]
      at akka.actor.ActorCell$$anonfun$become$1.applyOrElse(ActorCell.scala:534)[140:com.typesafe.akka.actor:2.3.10]
      at akka.persistence.Recovery$State$class.process(Recovery.scala:30)[145:com.typesafe.akka.persistence.experimental:2.3.10]
      at akka.persistence.ProcessorImpl$$anon$2.process(Processor.scala:103)[145:com.typesafe.akka.persistence.experimental:2.3.10]
      at akka.persistence.ProcessorImpl$$anon$2.aroundReceive(Processor.scala:114)[145:com.typesafe.akka.persistence.experimental:2.3.10]
      at akka.persistence.Recovery$class.aroundReceive(Recovery.scala:265)[145:com.typesafe.akka.persistence.experimental:2.3.10]
      at akka.persistence.UntypedPersistentActor.akka$persistence$Eventsourced$$super$aroundReceive(Eventsourced.scala:428)[145:com.typesafe.akka.persistence.experimental:2.3.10]
      at akka.persistence.Eventsourced$$anon$2.doAroundReceive(Eventsourced.scala:82)[145:com.typesafe.akka.persistence.experimental:2.3.10]
      at akka.persistence.Eventsourced$$anon$2.aroundReceive(Eventsourced.scala:78)[145:com.typesafe.akka.persistence.experimental:2.3.10]
      at akka.persistence.Eventsourced$class.aroundReceive(Eventsourced.scala:369)[145:com.typesafe.akka.persistence.experimental:2.3.10]
      at akka.persistence.UntypedPersistentActor.aroundReceive(Eventsourced.scala:428)[145:com.typesafe.akka.persistence.experimental:2.3.10]
      at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)[140:com.typesafe.akka.actor:2.3.10]
      at akka.actor.ActorCell.invoke(ActorCell.scala:487)[140:com.typesafe.akka.actor:2.3.10]
      at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:254)[140:com.typesafe.akka.actor:2.3.10]
      at akka.dispatch.Mailbox.run(Mailbox.scala:221)[140:com.typesafe.akka.actor:2.3.10]
      at akka.dispatch.Mailbox.exec(Mailbox.scala:231)[140:com.typesafe.akka.actor:2.3.10]
      at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[137:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
      at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)[137:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
      at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[137:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
      at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)[137:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
      Caused by: java.lang.IllegalArgumentException
      at com.google.common.base.Preconditions.checkArgument(Preconditions.java:108)[37:com.google.guava:18.0.0]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.OrderedLeafSetModificationStrategy.createBuilder(OrderedLeafSetModificationStrategy.java:39)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:155)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyMerge(AbstractNodeContainerModificationStrategy.java:133)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:206)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:114)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyWrite(AbstractNodeContainerModificationStrategy.java:93)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:209)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:114)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:156)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyMerge(AbstractNodeContainerModificationStrategy.java:133)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:206)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:114)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:156)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyMerge(AbstractNodeContainerModificationStrategy.java:133)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:206)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:114)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:156)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyMerge(AbstractNodeContainerModificationStrategy.java:133)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:206)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:114)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:156)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyMerge(AbstractNodeContainerModificationStrategy.java:133)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:206)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:114)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:156)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyMerge(AbstractNodeContainerModificationStrategy.java:133)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:206)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:114)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:156)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyMerge(AbstractNodeContainerModificationStrategy.java:133)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:206)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:114)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:156)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyMerge(AbstractNodeContainerModificationStrategy.java:133)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:206)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:114)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:156)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyMerge(AbstractNodeContainerModificationStrategy.java:133)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:206)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:114)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:156)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:199)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.RootModificationApplyOperation.apply(RootModificationApplyOperation.java:78)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractDataTreeTip.prepare(AbstractDataTreeTip.java:52)[61:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium]
      at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.preCommit(SimpleShardDataTreeCohort.java:72)[155:org.opendaylight.controller.sal-distributed-datastore:1.2.0.Lithium]
      ... 27 more

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              rovarga Robert Varga
              srini.seetharaman@gmail.com Srini Seetharaman
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: