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

DeadTransactionException during initialization

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Medium Medium
    • 3.0.13, 4.0.6, 2.0.10
    • 2.0.1
    • clustering
    • None

      This is encountered in normal CSIT here: https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/controller-csit-3node-clustering-ask-all-aluminium/91/odl_1/odl1_karaf.log.gz

       

      2020-06-03T01:39:28,364 | ERROR | features-3-thread-1 | PrefixedShardConfigWriter        | 296 - org.opendaylight.controller.sal-distributed-datastore - 2.0.1 | Unable to write initial shard config parent.
      java.util.concurrent.ExecutionException: org.opendaylight.controller.cluster.access.commands.DeadTransactionException: Transactions [[0..2)] have been purged
      	at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:553) ~[bundleFile:?]
      	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:534) ~[bundleFile:?]
      	at com.google.common.util.concurrent.FluentFuture$TrustedFuture.get(FluentFuture.java:88) ~[bundleFile:?]
      	at org.opendaylight.controller.cluster.sharding.PrefixedShardConfigWriter.submitBlocking(PrefixedShardConfigWriter.java:93) [bundleFile:?]
      	at org.opendaylight.controller.cluster.sharding.PrefixedShardConfigWriter.writeInitialParent(PrefixedShardConfigWriter.java:88) [bundleFile:?]
      	at org.opendaylight.controller.cluster.sharding.PrefixedShardConfigWriter.<init>(PrefixedShardConfigWriter.java:56) [bundleFile:?]
      	at org.opendaylight.controller.cluster.sharding.DistributedShardedDOMDataTree.init(DistributedShardedDOMDataTree.java:227) [bundleFile:?]
      	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
      	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
      	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
      	at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
      	at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:337) [bundleFile:1.10.2]
      	at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:835) [bundleFile:1.10.2]
      	at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:591) [bundleFile:1.10.2]
      	at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:703) [bundleFile:1.10.2]
      	at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:666) [bundleFile:1.10.2]
      	at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:81) [bundleFile:1.10.2]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
      	at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:90) [bundleFile:1.10.2]
      	at org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:62) [bundleFile:1.10.2]
      	at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:108) [bundleFile:1.10.2]
      	at org.apache.aries.blueprint.container.ServiceRecipe.createService(ServiceRecipe.java:285) [bundleFile:1.10.2]
      	at org.apache.aries.blueprint.container.ServiceRecipe.internalGetService(ServiceRecipe.java:252) [bundleFile:1.10.2]
      	at org.apache.aries.blueprint.container.ServiceRecipe.internalCreate(ServiceRecipe.java:149) [bundleFile:1.10.2]
      	at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:81) [bundleFile:1.10.2]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
      	at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:90) [bundleFile:1.10.2]
      	at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:360) [bundleFile:1.10.2]
      	at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:190) [bundleFile:1.10.2]
      	at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:737) [bundleFile:1.10.2]
      	at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:433) [bundleFile:1.10.2]
      	at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:298) [bundleFile:1.10.2]
      	at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:311) [bundleFile:1.10.2]
      	at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:280) [bundleFile:1.10.2]
      	at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:276) [bundleFile:1.10.2]
      	at org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:266) [bundleFile:1.10.2]
      	at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500) [bundleFile:1.10.2]
      	at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433) [bundleFile:1.10.2]
      	at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725) [bundleFile:1.10.2]
      	at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463) [bundleFile:1.10.2]
      	at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422) [bundleFile:1.10.2]
      	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher$2.call(EquinoxEventPublisher.java:239) [org.eclipse.osgi-3.12.100.jar:?]
      	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyHookPrivileged(ServiceRegistry.java:1298) [org.eclipse.osgi-3.12.100.jar:?]
      	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyHooksPrivileged(ServiceRegistry.java:1278) [org.eclipse.osgi-3.12.100.jar:?]
      	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.notifyEventHooksPrivileged(EquinoxEventPublisher.java:236) [org.eclipse.osgi-3.12.100.jar:?]
      	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:194) [org.eclipse.osgi-3.12.100.jar:?]
      	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120) [org.eclipse.osgi-3.12.100.jar:?]
      	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112) [org.eclipse.osgi-3.12.100.jar:?]
      	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:168) [org.eclipse.osgi-3.12.100.jar:?]
      	at org.eclipse.osgi.container.Module.publishEvent(Module.java:476) [org.eclipse.osgi-3.12.100.jar:?]
      	at org.eclipse.osgi.container.Module.start(Module.java:467) [org.eclipse.osgi-3.12.100.jar:?]
      	at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) [org.eclipse.osgi-3.12.100.jar:?]
      	at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:402) [org.eclipse.osgi-3.12.100.jar:?]
      	at org.apache.karaf.features.internal.service.BundleInstallSupportImpl.startBundle(BundleInstallSupportImpl.java:165) [bundleFile:?]
      	at org.apache.karaf.features.internal.service.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:1153) [bundleFile:?]
      	at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:1036) [bundleFile:?]
      	at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1062) [bundleFile:?]
      	at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:998) [bundleFile:?]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
      	at java.lang.Thread.run(Thread.java:834) [?:?]
      Caused by: org.opendaylight.controller.cluster.access.commands.DeadTransactionException: Transactions [[0..2)] have been purged
      	at org.opendaylight.controller.cluster.datastore.AbstractFrontendHistory.handleTransactionRequest(AbstractFrontendHistory.java:88) ~[?:?]
      	at org.opendaylight.controller.cluster.datastore.LeaderFrontendState$Enabled.handleTransactionRequest(LeaderFrontendState.java:136) ~[?:?]
      	at org.opendaylight.controller.cluster.datastore.Shard.handleRequest(Shard.java:594) ~[?:?]
      	at org.opendaylight.controller.cluster.datastore.Shard.handleRequestEnvelope(Shard.java:396) ~[?:?]
      	at org.opendaylight.controller.cluster.datastore.Shard.handleNonRaftCommand(Shard.java:325) ~[?:?]
      	at org.opendaylight.controller.cluster.raft.RaftActor.handleCommand(RaftActor.java:270) ~[?:?]
      	at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:24) ~[?:?]
      	at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:20) ~[?:?]
      	at scala.PartialFunction.applyOrElse(PartialFunction.scala:187) ~[?:?]
      	at scala.PartialFunction.applyOrElse$(PartialFunction.scala:186) ~[?:?]
      	at akka.japi.pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:20) ~[?:?]
      	at scala.PartialFunction$OrElse.apply(PartialFunction.scala:238) ~[?:?]
      	at scala.PartialFunction.applyOrElse(PartialFunction.scala:187) ~[?:?]
      	at scala.PartialFunction.applyOrElse$(PartialFunction.scala:186) ~[?:?]
      	at akka.japi.pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:20) ~[?:?]
      	at scala.PartialFunction$OrElse.apply(PartialFunction.scala:238) ~[?:?]
      	at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:93) ~[?:?]
      	at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:29) ~[?:?]
      	at scala.PartialFunction.applyOrElse(PartialFunction.scala:187) ~[?:?]
      	at scala.PartialFunction.applyOrElse$(PartialFunction.scala:186) ~[?:?]
      	at scala.runtime.AbstractPartialFunction.applyOrElse(AbstractPartialFunction.scala:27) ~[?:?]
      	at akka.actor.Actor.aroundReceive(Actor.scala:539) ~[?:?]
      	at akka.actor.Actor.aroundReceive$(Actor.scala:537) ~[?:?]
      	at akka.persistence.AbstractPersistentActor.akka$persistence$Eventsourced$$super$aroundReceive(PersistentActor.scala:455) ~[?:?]
      	at akka.persistence.Eventsourced$$anon$4.stateReceive(Eventsourced.scala:899) ~[?:?]
      	at akka.persistence.Eventsourced.aroundReceive(Eventsourced.scala:250) ~[?:?]
      	at akka.persistence.Eventsourced.aroundReceive$(Eventsourced.scala:249) ~[?:?]
      	at akka.persistence.AbstractPersistentActor.aroundReceive(PersistentActor.scala:455) ~[?:?]
      	at akka.actor.ActorCell.receiveMessage(ActorCell.scala:614) ~[?:?]
      	at akka.actor.ActorCell.invoke(ActorCell.scala:583) ~[?:?]
      	at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:268) ~[?:?]
      	at akka.dispatch.Mailbox.run(Mailbox.scala:229) ~[?:?]
      	at akka.dispatch.Mailbox.exec(Mailbox.scala:241) ~[?:?]
      	at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) ~[?:?]
      	at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) ~[?:?]
      	at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) ~[?:?]
      	at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) ~[?:?]

      which looks like an interplay between init's choice of a transaction and recovered state.

            rovarga Robert Varga
            rovarga Robert Varga
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: