Here the log: [JVM-1] Run starting. Expected test count is: 2 [JVM-1] ClusterRoundRobinSpecMultiJvmNode1: [JVM-1] Test [JVM-2] Run starting. Expected test count is: 2 [JVM-2] ClusterRoundRobinSpecMultiJvmNode2: [JVM-2] Test [JVM-3] Run starting. Expected test count is: 2 [JVM-3] ClusterRoundRobinSpecMultiJvmNode3: [JVM-3] Test [JVM-1] - must join to cluster [JVM-3] - must join to cluster [JVM-2] - must join to cluster [JVM-1] [WARN] [09/10/2015 09:58:10.253] [ClusterRoundRobinSpec-akka.actor.default-dispatcher-15] [akka://ClusterRoundRobinSpec/deadLetters] received dead letter from Actor[akka://ClusterRoundRobinSpec/system/testActor-1#252707413]: 123 [JVM-1] - must receive echo message *** FAILED *** [JVM-1] java.lang.AssertionError: assertion failed: timeout (3 seconds) during expectMsg while waiting for 123 [JVM-1] at scala.Predef$.assert(Predef.scala:165) [JVM-1] at akka.testkit.TestKitBase$class.expectMsg_internal(TestKit.scala:353) [JVM-1] at akka.testkit.TestKitBase$class.expectMsg(TestKit.scala:330) [JVM-1] at akka.testkit.TestKit.expectMsg(TestKit.scala:738) [JVM-1] at com.greenmile.event.ClusterRoundRobinSpec$$anonfun$1$$anonfun$apply$mcV$sp$3$$anonfun$apply$mcV$sp$4.apply$mcV$sp(ClusterRoundRobinSpec.scala:70) [JVM-1] at akka.remote.testkit.MultiNodeSpec.runOn(MultiNodeSpec.scala:338) [JVM-1] at com.greenmile.event.ClusterRoundRobinSpec$$anonfun$1$$anonfun$apply$mcV$sp$3.apply$mcV$sp(ClusterRoundRobinSpec.scala:67) [JVM-1] at com.greenmile.event.ClusterRoundRobinSpec$$anonfun$1$$anonfun$apply$mcV$sp$3.apply(ClusterRoundRobinSpec.scala:66) [JVM-1] at com.greenmile.event.ClusterRoundRobinSpec$$anonfun$1$$anonfun$apply$mcV$sp$3.apply(ClusterRoundRobinSpec.scala:66) [JVM-1] at org.scalatest.Transformer$$anonfun$apply$1.apply$mcV$sp(Transformer.scala:22) [JVM-1] ... [JVM-3] - must receive echo message [JVM-2] - must receive echo message [JVM-3] set 10, 2015 9:58:13 AM org.jboss.netty.channel.DefaultChannelPipeline [JVM-3] ADVERTĂNCIA: An exception was thrown by an exception handler. [JVM-3] java.util.concurrent.RejectedExecutionException: Worker has already been shutdown [JVM-3] at org.jboss.netty.channel.socket.nio.AbstractNioSelector.registerTask(AbstractNioSelector.java:120) [JVM-3] at org.jboss.netty.channel.socket.nio.AbstractNioWorker.executeInIoThread(AbstractNioWorker.java:72) [JVM-3] at org.jboss.netty.channel.socket.nio.NioWorker.executeInIoThread(NioWorker.java:36) [JVM-3] at org.jboss.netty.channel.socket.nio.AbstractNioWorker.executeInIoThread(AbstractNioWorker.java:56) [JVM-3] at org.jboss.netty.channel.socket.nio.NioWorker.executeInIoThread(NioWorker.java:36) [JVM-3] at org.jboss.netty.channel.socket.nio.AbstractNioChannelSink.execute(AbstractNioChannelSink.java:34) [JVM-3] at org.jboss.netty.channel.DefaultChannelPipeline.execute(DefaultChannelPipeline.java:636) [JVM-3] at org.jboss.netty.channel.Channels.fireExceptionCaughtLater(Channels.java:496) [JVM-3] at org.jboss.netty.channel.AbstractChannelSink.exceptionCaught(AbstractChannelSink.java:46) [JVM-3] at org.jboss.netty.channel.DefaultChannelPipeline.notifyHandlerException(DefaultChannelPipeline.java:658) [JVM-3] at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendDownstream(DefaultChannelPipeline.java:781) [JVM-3] at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:54) [JVM-3] at org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:591) [JVM-3] at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendDownstream(DefaultChannelPipeline.java:784) [JVM-3] at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:54) [JVM-3] at org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:591) [JVM-3] at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendDownstream(DefaultChannelPipeline.java:784) [JVM-3] at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:54) [JVM-3] at org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:591) [JVM-3] at org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:582) [JVM-3] at org.jboss.netty.channel.Channels.close(Channels.java:812) [JVM-3] at org.jboss.netty.channel.AbstractChannel.close(AbstractChannel.java:206) [JVM-3] at akka.remote.testconductor.ClientFSM$$anonfun$5.applyOrElse(Player.scala:269) [JVM-3] at akka.remote.testconductor.ClientFSM$$anonfun$5.applyOrElse(Player.scala:267) [JVM-3] at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:36) [JVM-3] at akka.actor.FSM$class.terminate(FSM.scala:728) [JVM-3] at akka.actor.FSM$class.postStop(FSM.scala:713) [JVM-3] at akka.remote.testconductor.ClientFSM.postStop(Player.scala:147) [JVM-3] at akka.actor.Actor$class.aroundPostStop(Actor.scala:490) [JVM-3] at akka.remote.testconductor.ClientFSM.aroundPostStop(Player.scala:147) [JVM-3] at akka.actor.dungeon.FaultHandling$class.akka$actor$dungeon$FaultHandling$$finishTerminate(FaultHandling.scala:210) [JVM-3] at akka.actor.dungeon.FaultHandling$class.terminate(FaultHandling.scala:172) [JVM-3] at akka.actor.ActorCell.terminate(ActorCell.scala:373) [JVM-3] at akka.actor.ActorCell.invokeAll$1(ActorCell.scala:466) [JVM-3] at akka.actor.ActorCell.systemInvoke(ActorCell.scala:482) [JVM-3] at akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:282) [JVM-3] at akka.dispatch.Mailbox.run(Mailbox.scala:223) [JVM-3] at akka.dispatch.Mailbox.exec(Mailbox.scala:234) [JVM-3] at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) [JVM-3] at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) [JVM-3] at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) [JVM-3] at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) [JVM-3] [JVM-3] [WARN] [09/10/2015 09:58:13.347] [ClusterRoundRobinSpec-akka.actor.default-dispatcher-6] [akka://ClusterRoundRobinSpec/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FClusterRoundRobinSpec%40localhost%3A45424-0/endpointWriter/endpointReader-akka.tcp%3A%2F%2FClusterRoundRobinSpec%40localhost%3A45424-0] received dead letter from Actor[akka://ClusterRoundRobinSpec/deadLetters]: InboundPayload(size = 11 bytes) [JVM-1] [WARN] [09/10/2015 09:58:13.372] [ClusterRoundRobinSpec-akka.actor.default-dispatcher-3] [akka://ClusterRoundRobinSpec/user/controller/127.0.0.1:48395-server1] received dead letter from Actor[akka://ClusterRoundRobinSpec/deadLetters]: ClientDisconnected [JVM-2] [WARN] [09/10/2015 09:58:13.373] [ClusterRoundRobinSpec-akka.actor.default-dispatcher-3] [akka://ClusterRoundRobinSpec/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FClusterRoundRobinSpec%40localhost%3A45424-0/endpointWriter] received dead letter from Actor[akka://ClusterRoundRobinSpec/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FClusterRoundRobinSpec%40localhost%3A45424-0/endpointWriter#-1525793825]: AckIdleCheckTimer [JVM-1] [ERROR] [09/10/2015 09:58:13.376] [ClusterRoundRobinSpec-akka.remote.default-remote-dispatcher-7] [akka.tcp://ClusterRoundRobinSpec@localhost:45424/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FClusterRoundRobinSpec%40localhost%3A42898-1/endpointWriter] AssociationError [akka.tcp://ClusterRoundRobinSpec@localhost:45424] <- [akka.tcp://ClusterRoundRobinSpec@localhost:42898]: Error [Shut down address: akka.tcp://ClusterRoundRobinSpec@localhost:42898] [ [JVM-1] akka.remote.ShutDownAssociation: Shut down address: akka.tcp://ClusterRoundRobinSpec@localhost:42898 [JVM-1] Caused by: akka.remote.transport.Transport$InvalidAssociationException: The remote system terminated the association because it is shutting down. [JVM-1] ] [JVM-1] [ERROR] [09/10/2015 09:58:13.408] [ClusterRoundRobinSpec-akka.remote.default-remote-dispatcher-6] [akka.tcp://ClusterRoundRobinSpec@localhost:45424/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FClusterRoundRobinSpec%40localhost%3A38570-0/endpointWriter] AssociationError [akka.tcp://ClusterRoundRobinSpec@localhost:45424] <- [akka.tcp://ClusterRoundRobinSpec@localhost:38570]: Error [Shut down address: akka.tcp://ClusterRoundRobinSpec@localhost:38570] [ [JVM-1] akka.remote.ShutDownAssociation: Shut down address: akka.tcp://ClusterRoundRobinSpec@localhost:38570 [JVM-1] Caused by: akka.remote.transport.Transport$InvalidAssociationException: The remote system terminated the association because it is shutting down. [JVM-1] ] [JVM-1] [WARN] [09/10/2015 09:58:13.430] [ClusterRoundRobinSpec-akka.actor.default-dispatcher-2] [akka://ClusterRoundRobinSpec/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FClusterRoundRobinSpec%40localhost%3A38570-0] received dead letter from Actor[akka://ClusterRoundRobinSpec/deadLetters]: FlushAndStop [JVM-2] Run completed in 7 seconds, 540 milliseconds. [JVM-2] Total number of tests run: 2 [JVM-2] Suites: completed 1, aborted 0 [JVM-2] Tests: succeeded 2, failed 0, canceled 0, ignored 0, pending 0 [JVM-2] All tests passed. [JVM-3] Run completed in 6 seconds, 427 milliseconds. [JVM-3] Total number of tests run: 2 [JVM-3] Suites: completed 1, aborted 0 [JVM-3] Tests: succeeded 2, failed 0, canceled 0, ignored 0, pending 0 [JVM-3] All tests passed. [JVM-1] Run completed in 6 seconds, 494 milliseconds. [JVM-1] Total number of tests run: 2 [JVM-1] Suites: completed 1, aborted 0 [JVM-1] Tests: succeeded 1, failed 1, canceled 0, ignored 0, pending 0 [JVM-1] *** 1 TEST FAILED *** [error] Failed: com.greenmile.event.ClusterRoundRobinSpecMultiJvmNode1 [info] com.greenmile.event.ClusterRoundRobinSpec [info] No tests to run for MultiJvm [error] (multi-jvm:test) sbt.TestsFailedException: Tests unsuccessful [error] Total time: 10 s, completed 10/09/2015 09:58:13
Em quinta-feira, 10 de setembro de 2015 09:49:49 UTC-3, [email protected] escreveu: > > Guys, > Why routees are not deployed in this case? I'm using round-robin-pool and > I set allow-local-routees = off but the multi-jvm test show deadletter. > Here a simple multi-jvm test to show my problem: > > import akka.actor._ > import akka.cluster.Cluster > import akka.remote.testconductor.RoleName > import akka.remote.testkit.{MultiNodeConfig, MultiNodeSpec} > import akka.routing.FromConfig > import akka.testkit.ImplicitSender > import com.typesafe.config.ConfigFactory > > import scala.concurrent.duration._ > > import akka.remote.testkit.MultiNodeSpecCallbacks > import org.scalatest.{BeforeAndAfterAll, Matchers, WordSpecLike} > > trait STMultiNodeSpec extends MultiNodeSpecCallbacks > with WordSpecLike with Matchers with BeforeAndAfterAll { > > override def beforeAll() = multiNodeSpecBeforeAll() > override def afterAll() = multiNodeSpecAfterAll() > } > > class EchoActor extends Actor{ > override def receive: Receive = { > case x => sender() ! x > } > } > > object EventLogMultiNodeConfig extends MultiNodeConfig { > val node1 = role("node1") > val node2 = role("node2") > val node3 = role("node3") > commonConfig(ConfigFactory.parseString(""" > akka.cluster.metrics.enabled=off > akka.actor.provider = "akka.cluster.ClusterActorRefProvider" > akka.actor.deployment { > /echo { > router = round-robin-pool > cluster { > enabled = on > max-nr-of-instances-per-node = 3 > allow-local-routees = off > } > } > } > """)) > } > class ClusterRoundRobinSpecMultiJvmNode1 extends ClusterRoundRobinSpec > class ClusterRoundRobinSpecMultiJvmNode2 extends ClusterRoundRobinSpec > class ClusterRoundRobinSpecMultiJvmNode3 extends ClusterRoundRobinSpec > > class ClusterRoundRobinSpec extends MultiNodeSpec(EventLogMultiNodeConfig) > with STMultiNodeSpec with ImplicitSender{ > import EventLogMultiNodeConfig._ > > override def initialParticipants = roles.size > > def join(from: RoleName, to: RoleName) = { > runOn(from){ > Cluster(system) join node(to).address > } > enterBarrier(from.name+"-joined") > } > "Test " must { > "join to cluster" in within(15 seconds) { > join(node1, node1) > join(node2, node1) > join(node3, node1) > enterBarrier("after-1") > } > > "receive echo message" in { > runOn(node1){ > val echo = system.actorOf(FromConfig.props(Props[EchoActor]), "echo") > echo ! "123" > expectMsg("123") > } > enterBarrier("after-2") > } > } > } > > > Only set allow-local-routees-off ensure remote deploy? > > -- >>>>>>>>>> Read the docs: http://akka.io/docs/ >>>>>>>>>> Check the FAQ: >>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups "Akka User List" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
