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

Client actor fails to persist state

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • None
    • None
    • clustering
    • None
    • Operating System: All
      Platform: All

    • 8073

      So the scenario goes as follows.

      I am creating a moduled-based shard with CreateShard message. After that I want to create DataStoreClient for the created shard, so I can write to my shard. For that I am using SimpleDataStoreClientActor#getDistributedDataStoreClient.

      This is where the problems begin. This fails with:
      Caused by: akka.pattern.AskTimeoutException: Ask timed out on Actor[akka://opendaylight-cluster-data/user/$c#334759640] after [30000 ms]. Sender[null] sent message of type "org.opendaylight.controller.cluster.databroker.actors.dds.GetClientRequest".
      at akka.pattern.PromiseActorRef$$anonfun$1.apply$mcV$sp(AskSupport.scala:604)[86:com.typesafe.akka.actor:2.4.17]
      at akka.actor.Scheduler$$anon$4.run(Scheduler.scala:126)[86:com.typesafe.akka.actor:2.4.17]
      at scala.concurrent.Future$InternalCallbackExecutor$.unbatchedExecute(Future.scala:601)[235:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
      at scala.concurrent.BatchingExecutor$class.execute(BatchingExecutor.scala:109)[235:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
      at scala.concurrent.Future$InternalCallbackExecutor$.execute(Future.scala:599)[235:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
      at akka.actor.LightArrayRevolverScheduler$TaskHolder.executeTask(LightArrayRevolverScheduler.scala:329)[86:com.typesafe.akka.actor:2.4.17]
      at akka.actor.LightArrayRevolverScheduler$$anon$4.executeBucket$1(LightArrayRevolverScheduler.scala:280)[86:com.typesafe.akka.actor:2.4.17]
      at akka.actor.LightArrayRevolverScheduler$$anon$4.nextTick(LightArrayRevolverScheduler.scala:284)[86:com.typesafe.akka.actor:2.4.17]
      at akka.actor.LightArrayRevolverScheduler$$anon$4.run(LightArrayRevolverScheduler.scala:236)[86:com.typesafe.akka.actor:2.4.17]
      at java.lang.Thread.run(Thread.java:745)[:1.8.0_121]

      Turns out the actor does not reply because of:
      2017-03-23 18:34:14,499 | ERROR | lt-dispatcher-18 | SavingClientActorBehavior | 131 - org.opendaylight.controller.cds-access-client - 1.1.0.SNAPSHOT | member-1-frontend-datastore-Shard-prefix-configuration-shard: failed to persist state
      java.io.IOException: Failed to rename snapshots/snapshot-member-1-frontend-datastore-Shard-prefix-configuration-shard-0-1490294054496.tmp to snapshots/snapshot-member-1-frontend-datastore-Shard-prefix-configuration-shard-0-1490294054496
      at org.opendaylight.controller.cluster.persistence.LocalSnapshotStore.doSave(LocalSnapshotStore.java:182)[153:org.opendaylight.controller.sal-clustering-commons:1.5.0.SNAPSHOT]
      at org.opendaylight.controller.cluster.persistence.LocalSnapshotStore.lambda$doSaveAsync$1(LocalSnapshotStore.java:162)[153:org.opendaylight.controller.sal-clustering-commons:1.5.0.SNAPSHOT]
      at akka.dispatch.Futures$$anonfun$future$1.apply(Future.scala:97)[86:com.typesafe.akka.actor:2.4.17]
      at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24)[235:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
      at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24)[235:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
      at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:39)[86:com.typesafe.akka.actor:2.4.17]
      at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:415)[86:com.typesafe.akka.actor:2.4.17]
      at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[235:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
      at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)[235:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
      at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[235:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
      at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)[235:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]

      So I guess there can be some problems with handling persistence.

            rovarga Robert Varga
            jmorvay@cisco.com Jakub Morvay
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: