I've been debugging this issue for a couple of days now. I am getting an akka.actor.ActorNotFound after doing actor selection and resolveOne.
By now I am pretty confident that the actor is created via actorOf. Then I do
actorDetails.actorSelection(path).resolveOne(timeout)
timeout is long enough to not be the reason of the failure (30 seconds). path when the failure occurs is always pointing to a remote actor (simulated here via an actorsystem on a different port on the same host, 2713 for the remote actor, 2710 for the actor doing the resolveOne().
Is there a possibility resolveOne will give this *after* the remote actor is created via actorOf()?
2015-10-14 16:39:05,695 ERROR [
akka.tcp://CRUDEndToEndTest@dist-index:2710/user/databaseServer/index:int-string] o.d.a.IndexActor - REQ_ID: - split failed for Actor[akka://CRUDEndToEndTest/user/databaseServer/index:int-string/349c02eb-3d01-4457-9675-59cbfc678f0e#-1455973132], aborting....
akka.actor.ActorNotFound: Actor not found for: ActorSelection[Anchor(
akka.tcp://CRUDEndToEndTest@dist-index:2713/), Path(/user/databaseServer/index:int-string)]
at akka.actor.ActorSelection$$anonfun$resolveOne$1.apply(ActorSelection.scala:65) ~[akka-actor_2.11-2.4.0.jar:na]
at akka.actor.ActorSelection$$anonfun$resolveOne$1.apply(ActorSelection.scala:63) ~[akka-actor_2.11-2.4.0.jar:na]
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) ~[scala-library-2.11.7.jar:na]
at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55) ~[akka-actor_2.11-2.4.0.jar:na]
at akka.dispatch.BatchingExecutor$Batch.run(BatchingExecutor.scala:73) ~[akka-actor_2.11-2.4.0.jar:na]
at akka.dispatch.ExecutionContexts$sameThreadExecutionContext$.unbatchedExecute(Future.scala:74) ~[akka-actor_2.11-2.4.0.jar:na]
at akka.dispatch.BatchingExecutor$class.execute(BatchingExecutor.scala:120) ~[akka-actor_2.11-2.4.0.jar:na]
at akka.dispatch.ExecutionContexts$sameThreadExecutionContext$.execute(Future.scala:73) ~[akka-actor_2.11-2.4.0.jar:na]
at scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:40) ~[scala-library-2.11.7.jar:na]
at scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:248) ~[scala-library-2.11.7.jar:na]
at akka.pattern.PromiseActorRef.$bang(AskSupport.scala:345) ~[akka-actor_2.11-2.4.0.jar:na]
at akka.remote.DefaultMessageDispatcher.dispatch(Endpoint.scala:89) ~[akka-remote_2.11-2.4.0.jar:na]
at akka.remote.EndpointReader$$anonfun$receive$2.applyOrElse(Endpoint.scala:929) ~[akka-remote_2.11-2.4.0.jar:na]
at akka.actor.Actor$class.aroundReceive(Actor.scala:480) ~[akka-actor_2.11-2.4.0.jar:na]
at akka.remote.EndpointActor.aroundReceive(Endpoint.scala:405) ~[akka-remote_2.11-2.4.0.jar:na]
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:525) [akka-actor_2.11-2.4.0.jar:na]
at akka.actor.ActorCell.invoke(ActorCell.scala:494) [akka-actor_2.11-2.4.0.jar:na]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257) [akka-actor_2.11-2.4.0.jar:na]
at akka.dispatch.Mailbox.run(Mailbox.scala:224) [akka-actor_2.11-2.4.0.jar:na]
at akka.dispatch.Mailbox.exec(Mailbox.scala:234) [akka-actor_2.11-2.4.0.jar:na]
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) [scala-library-2.11.7.jar:na]
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) [scala-library-2.11.7.jar:na]
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) [scala-library-2.11.7.jar:na]
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) [scala-library-2.11.7.jar:na]