AdaptiveLoadBalancingRouter with Random - n must be positive
Im working with Akka Clustering 2.2.0 and I'm getting the following errors randomly - looks like a bug with the way the random number is being generated;
[ERROR] [07/22/2013 08:31:18.721] [ClusterSystem-akka.actor.default-dispatcher-18] [akka://ClusterSystem/user/$m] n must be positive
java.lang.IllegalArgumentException: n must be positive
at java.util.Random.nextInt(Random.java:300)
at akka.cluster.routing.AdaptiveLoadBalancingRouterLike$class.getNext$1(AdaptiveLoadBalancingRouter.scala:190)
at akka.cluster.routing.AdaptiveLoadBalancingRouterLike$$anonfun$createRoute$1.applyOrElse(AdaptiveLoadBalancingRouter.scala:201)
at akka.cluster.routing.AdaptiveLoadBalancingRouterLike$$anonfun$createRoute$1.applyOrElse(AdaptiveLoadBalancingRouter.scala:197)
at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:33)
at akka.cluster.routing.ClusterRouterConfig$$anonfun$createRoute$1.applyOrElse(ClusterRouterConfig.scala:50)
at akka.cluster.routing.ClusterRouterConfig$$anonfun$createRoute$1.applyOrElse(ClusterRouterConfig.scala:50)
at scala.PartialFunction$OrElse.apply(PartialFunction.scala:162)
at akka.routing.RoutedActorCell.applyRoute(Routing.scala:110)
at akka.routing.RoutedActorCell.sendMessage(Routing.scala:153)
at akka.actor.Cell$class.sendMessage(ActorCell.scala:259)
at akka.actor.ActorCell.sendMessage(ActorCell.scala:338)
at akka.actor.RepointableActorRef.$bang(RepointableActorRef.scala:157)
at akka.actor.ActorRef.tell(ActorRef.scala:125)
at akka.pattern.AskableActorRef$.ask$extension(AskSupport.scala:140)
at akka.pattern.AskableActorRef$.$qmark$extension(AskSupport.scala:146)
at akka.pattern.AskSupport$class.ask(AskSupport.scala:76)
at akka.pattern.package$.ask(package.scala:43)
at akka.pattern.Patterns$.ask(Patterns.scala:78)
at akka.pattern.Patterns.ask(Patterns.scala)
at com.covata.cryptonode.web.ConnHandlerActor.onReceive(ConnHandlerActor.java:62)
at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167)
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:498)
at akka.actor.ActorCell.invoke(ActorCell.scala:456)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:237)
at akka.dispatch.Mailbox.run(Mailbox.scala:219)
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:386)
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
The only other thing I can think is that its an issue with my JDK - I'm using 1.7 u13...
Any ideas (I'm seeing this when testing with a small number of nodes all running on the one laptop in different JVMs).
[ERROR] [07/22/2013 08:31:18.721] [ClusterSystem-akka.actor.default-dispatcher-18] [akka://ClusterSystem/user/$m] n must be positive
java.lang.IllegalArgumentException: n must be positive
at java.util.Random.nextInt(Random.java:300)
at akka.cluster.routing.AdaptiveLoadBalancingRouterLike$class.getNext$1(AdaptiveLoadBalancingRouter.scala:190)
at akka.cluster.routing.AdaptiveLoadBalancingRouterLike$$anonfun$createRoute$1.applyOrElse(AdaptiveLoadBalancingRouter.scala:201)
at akka.cluster.routing.AdaptiveLoadBalancingRouterLike$$anonfun$createRoute$1.applyOrElse(AdaptiveLoadBalancingRouter.scala:197)
at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:33)
at akka.cluster.routing.ClusterRouterConfig$$anonfun$createRoute$1.applyOrElse(ClusterRouterConfig.scala:50)
at akka.cluster.routing.ClusterRouterConfig$$anonfun$createRoute$1.applyOrElse(ClusterRouterConfig.scala:50)
at scala.PartialFunction$OrElse.apply(PartialFunction.scala:162)
at akka.routing.RoutedActorCell.applyRoute(Routing.scala:110)
at akka.routing.RoutedActorCell.sendMessage(Routing.scala:153)
at akka.actor.Cell$class.sendMessage(ActorCell.scala:259)
at akka.actor.ActorCell.sendMessage(ActorCell.scala:338)
at akka.actor.RepointableActorRef.$bang(RepointableActorRef.scala:157)
at akka.actor.ActorRef.tell(ActorRef.scala:125)
at akka.pattern.AskableActorRef$.ask$extension(AskSupport.scala:140)
at akka.pattern.AskableActorRef$.$qmark$extension(AskSupport.scala:146)
at akka.pattern.AskSupport$class.ask(AskSupport.scala:76)
at akka.pattern.package$.ask(package.scala:43)
at akka.pattern.Patterns$.ask(Patterns.scala:78)
at akka.pattern.Patterns.ask(Patterns.scala)
at com.covata.cryptonode.web.ConnHandlerActor.onReceive(ConnHandlerActor.java:62)
at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167)
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:498)
at akka.actor.ActorCell.invoke(ActorCell.scala:456)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:237)
at akka.dispatch.Mailbox.run(Mailbox.scala:219)
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:386)
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
The only other thing I can think is that its an issue with my JDK - I'm using 1.7 u13...
Any ideas (I'm seeing this when testing with a small number of nodes all running on the one laptop in different JVMs).
Leave a comment
on 2013-08-16 13:32 *
By Patrik Nordwall
Assigned to set to Patrik Nordwall
Milestone changed from 2.2.x to Current
Status changed from New to Accepted