Uploaded image for project: 'controller'
  1. controller
  2. CONTROLLER-998

OptimisticLockFailed exception when writing inventory and topology data

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Resolution: Cannot Reproduce
    • None
    • None
    • mdsal
    • None
    • Operating System: All
      Platform: All

    • 2320

    Description

      2014-10-31 11:30:03,385 | WARN | lt-dispatcher-14 | InMemoryDOMDataStore | 143 - org.opendaylight.controller.sal-inmemory-datastore - 1.2.0.SNAPSHOT | Store Tx: member-1-shard-inventory-operational-92 Conflicting modification for /(urn:opendaylight:inventory?revision=2013-08-19)nodes/node/node[

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

      ].
      2014-10-31 11:30:03,386 | WARN | lt-dispatcher-33 | MConcurrentDataCommitCoordinator | 137 - org.opendaylight.controller.sal-broker-impl - 1.2.0.SNAPSHOT | Tx: DOM-CHAIN-0-43 Error during phase CAN_COMMIT, starting Abort
      java.util.concurrent.ExecutionException: OptimisticLockFailedException

      {message=Optimistic lock failed., errorList=[RpcError [message=Optimistic lock failed., severity=ERROR, errorType=APPLICATION, tag=resource-denied, applicationTag=null, info=null, cause=org.opendaylight.yangtools.yang.data.api.schema.tree.ConflictingModificationAppliedException: Node was deleted by other transaction.]]}

      at java.util.concurrent.FutureTask.report(FutureTask.java:122)[:1.7.0_65]
      at java.util.concurrent.FutureTask.get(FutureTask.java:188)[:1.7.0_65]
      at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.doCanCommit(ShardCommitCoordinator.java:138)[262:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT]
      at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.handleCanCommit(ShardCommitCoordinator.java:128)[262:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT]
      at org.opendaylight.controller.cluster.datastore.Shard.handleCanCommitTransaction(Shard.java:380)[262:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT]
      at org.opendaylight.controller.cluster.datastore.Shard.onReceiveCommand(Shard.java:244)[262:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT]
      at akka.persistence.UntypedPersistentActor.onReceive(Eventsourced.scala:430)[252:com.typesafe.akka.persistence.experimental:2.3.4]
      at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:96)[254:org.opendaylight.controller.sal-clustering-commons:1.2.0.SNAPSHOT]
      at akka.actor.ActorCell$$anonfun$become$1.applyOrElse(ActorCell.scala:534)[247:com.typesafe.akka.actor:2.3.4]
      at akka.persistence.Recovery$State$class.process(Recovery.scala:30)[252:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.persistence.ProcessorImpl$$anon$2.process(Processor.scala:103)[252:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.persistence.ProcessorImpl$$anon$2.aroundReceive(Processor.scala:114)[252:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.persistence.Recovery$class.aroundReceive(Recovery.scala:256)[252:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.persistence.UntypedPersistentActor.akka$persistence$Eventsourced$$super$aroundReceive(Eventsourced.scala:428)[252:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.persistence.Eventsourced$$anon$2.doAroundReceive(Eventsourced.scala:82)[252:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.persistence.Eventsourced$$anon$2.aroundReceive(Eventsourced.scala:78)[252:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.persistence.Eventsourced$class.aroundReceive(Eventsourced.scala:369)[252:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.persistence.UntypedPersistentActor.aroundReceive(Eventsourced.scala:428)[252:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)[247:com.typesafe.akka.actor:2.3.4]
      at akka.actor.ActorCell.invoke(ActorCell.scala:487)[247:com.typesafe.akka.actor:2.3.4]
      at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)[247:com.typesafe.akka.actor:2.3.4]
      at akka.dispatch.Mailbox.run(Mailbox.scala:220)[247:com.typesafe.akka.actor:2.3.4]
      at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393)[247:com.typesafe.akka.actor:2.3.4]
      at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[244:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
      at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)[244:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
      at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[244:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
      at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)[244:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
      at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[244:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
      at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)[244:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
      Caused by: OptimisticLockFailedException

      {message=Optimistic lock failed., errorList=[RpcError [message=Optimistic lock failed., severity=ERROR, errorType=APPLICATION, tag=resource-denied, applicationTag=null, info=null, cause=org.opendaylight.yangtools.yang.data.api.schema.tree.ConflictingModificationAppliedException: Node was deleted by other transaction.]]}

      at org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStore$ThreePhaseCommitImpl$1.call(InMemoryDOMDataStore.java:253)[143:org.opendaylight.controller.sal-inmemory-datastore:1.2.0.SNAPSHOT]
      at org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStore$ThreePhaseCommitImpl$1.call(InMemoryDOMDataStore.java:242)[143:org.opendaylight.controller.sal-inmemory-datastore:1.2.0.SNAPSHOT]
      at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_65]
      at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:293)[52:com.google.guava:14.0.1]
      at com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:61)[52:com.google.guava:14.0.1]
      at org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStore$ThreePhaseCommitImpl.canCommit(InMemoryDOMDataStore.java:242)[143:org.opendaylight.controller.sal-inmemory-datastore:1.2.0.SNAPSHOT]
      at org.opendaylight.controller.md.sal.dom.store.impl.ChainedTransactionCommitImpl.canCommit(ChainedTransactionCommitImpl.java:30)[143:org.opendaylight.controller.sal-inmemory-datastore:1.2.0.SNAPSHOT]
      ... 25 more
      Caused by: org.opendaylight.yangtools.yang.data.api.schema.tree.ConflictingModificationAppliedException: Node was deleted by other transaction.
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkConflicting(SchemaAwareApplyOperation.java:84)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkSubtreeModificationApplicable(NormalizedNodeContainerModificationStrategy.java:167)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:135)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkChildPreconditions(NormalizedNodeContainerModificationStrategy.java:178)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkSubtreeModificationApplicable(NormalizedNodeContainerModificationStrategy.java:168)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:135)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkChildPreconditions(NormalizedNodeContainerModificationStrategy.java:178)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkSubtreeModificationApplicable(NormalizedNodeContainerModificationStrategy.java:168)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]

      at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkSubtreeModificationApplicable(NormalizedNodeContainerModificationStrategy.java:168)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:135)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.RootModificationApplyOperation.checkApplicable(RootModificationApplyOperation.java:72)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.InMemoryDataTree.validate(InMemoryDataTree.java:77)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]
      at org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStore$ThreePhaseCommitImpl$1.call(InMemoryDOMDataStore.java:246)[143:org.opendaylight.controller.sal-inmemory-datastore:1.2.0.SNAPSHOT]
      ... 31 more
      2014-10-31 11:30:03,390 | WARN | ds-oper-thread-0 | StatisticsManagerImpl | 151 - org.opendaylight.controller.md.statistics-manager - 1.2.0.SNAPSHOT | Unhandled exception during processing statistics. Restarting transaction chain.
      OptimisticLockFailedException

      {message=Optimistic lock failed., errorList=[RpcError [message=Optimistic lock failed., severity=ERROR, errorType=APPLICATION, tag=resource-denied, applicationTag=null, info=null, cause=org.opendaylight.yangtools.yang.data.api.schema.tree.ConflictingModificationAppliedException: Node was deleted by other transaction.]]}

      at org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStore$ThreePhaseCommitImpl$1.call(InMemoryDOMDataStore.java:253)[143:org.opendaylight.controller.sal-inmemory-datastore:1.2.0.SNAPSHOT]
      at org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStore$ThreePhaseCommitImpl$1.call(InMemoryDOMDataStore.java:242)[143:org.opendaylight.controller.sal-inmemory-datastore:1.2.0.SNAPSHOT]
      at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_65]
      at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:293)[52:com.google.guava:14.0.1]
      at com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:61)[52:com.google.guava:14.0.1]
      at org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStore$ThreePhaseCommitImpl.canCommit(InMemoryDOMDataStore.java:242)[143:org.opendaylight.controller.sal-inmemory-datastore:1.2.0.SNAPSHOT]
      at org.opendaylight.controller.md.sal.dom.store.impl.ChainedTransactionCommitImpl.canCommit(ChainedTransactionCommitImpl.java:30)[143:org.opendaylight.controller.sal-inmemory-datastore:1.2.0.SNAPSHOT]
      at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.doCanCommit(ShardCommitCoordinator.java:138)[262:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT]
      at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.handleCanCommit(ShardCommitCoordinator.java:128)[262:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT]
      at org.opendaylight.controller.cluster.datastore.Shard.onReceiveCommand(Shard.java:244)[262:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT]
      at akka.persistence.UntypedPersistentActor.onReceive(Eventsourced.scala:430)[252:com.typesafe.akka.persistence.experimental:2.3.4]
      at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:96)[254:org.opendaylight.controller.sal-clustering-commons:1.2.0.SNAPSHOT]
      at akka.actor.ActorCell$$anonfun$become$1.applyOrElse(ActorCell.scala:534)[247:com.typesafe.akka.actor:2.3.4]
      at akka.persistence.Recovery$State$class.process(Recovery.scala:30)[252:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.persistence.ProcessorImpl$$anon$2.process(Processor.scala:103)[252:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.persistence.ProcessorImpl$$anon$2.aroundReceive(Processor.scala:114)[252:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.persistence.Recovery$class.aroundReceive(Recovery.scala:256)[252:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.persistence.UntypedPersistentActor.akka$persistence$Eventsourced$$super$aroundReceive(Eventsourced.scala:428)[252:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.persistence.Eventsourced$$anon$2.doAroundReceive(Eventsourced.scala:82)[252:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.persistence.Eventsourced$$anon$2.aroundReceive(Eventsourced.scala:78)[252:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.persistence.Eventsourced$class.aroundReceive(Eventsourced.scala:369)[252:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.persistence.UntypedPersistentActor.aroundReceive(Eventsourced.scala:428)[252:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)[247:com.typesafe.akka.actor:2.3.4]
      at akka.actor.ActorCell.invoke(ActorCell.scala:487)[247:com.typesafe.akka.actor:2.3.4]
      at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)[247:com.typesafe.akka.actor:2.3.4]
      at akka.dispatch.Mailbox.run(Mailbox.scala:220)[247:com.typesafe.akka.actor:2.3.4]
      at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393)[247:com.typesafe.akka.actor:2.3.4]
      at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[244:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
      at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)[244:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
      at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[244:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
      at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)[244:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
      Caused by: org.opendaylight.yangtools.yang.data.api.schema.tree.ConflictingModificationAppliedException: Node was deleted by other transaction.
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkConflicting(SchemaAwareApplyOperation.java:84)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkSubtreeModificationApplicable(NormalizedNodeContainerModificationStrategy.java:167)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:135)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]

      Caused by: org.opendaylight.yangtools.yang.data.api.schema.tree.ConflictingModificationAppliedException: Node was deleted by other transaction.
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkConflicting(SchemaAwareApplyOperation.java:84)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkSubtreeModificationApplicable(NormalizedNodeContainerModificationStrategy.java:167)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:135)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkChildPreconditions(NormalizedNodeContainerModificationStrategy.java:178)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkSubtreeModificationApplicable(NormalizedNodeContainerModificationStrategy.java:168)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:135)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkChildPreconditions(NormalizedNodeContainerModificationStrategy.java:178)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkSubtreeModificationApplicable(NormalizedNodeContainerModificationStrategy.java:168)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:135)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkChildPreconditions(NormalizedNodeContainerModificationStrategy.java:178)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkSubtreeModificationApplicable(NormalizedNodeContainerModificationStrategy.java:168)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:135)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.RootModificationApplyOperation.checkApplicable(RootModificationApplyOperation.java:72)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]
      at org.opendaylight.yangtools.yang.data.impl.schema.tree.InMemoryDataTree.validate(InMemoryDataTree.java:77)[75:org.opendaylight.yangtools.yang-data-impl:0.7.0.SNAPSHOT]
      at org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStore$ThreePhaseCommitImpl$1.call(InMemoryDOMDataStore.java:246)[143:org.opendaylight.controller.sal-inmemory-datastore:1.2.0.SNAPSHOT]
      ... 31 more

      Attachments

        Issue Links

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

          Activity

            People

              Unassigned Unassigned
              moraja@cisco.com Moiz Raja
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: