[CONTROLLER-1622] Client actor fails to persist state Created: 24/Mar/17  Updated: 25/Jul/23  Resolved: 24/Mar/17

Status: Verified
Project: controller
Component/s: clustering
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Jakub Morvay Assignee: Robert Varga
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


External issue ID: 8073

 Description   

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.



 Comments   
Comment by Robert Varga [ 24/Mar/17 ]

master: https://git.opendaylight.org/gerrit/53790

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