Clearly, the secret to resolving Akka issues is to (1) struggle endlessly;
(2) report the issue to the Akka User list; and (3) then promptly fix the
issue yourself --- which is what I have done. In a dynamic Master actor, I
was accidentally stopping the one-and-only WorkerRouter. Not a good thing.
Having ceased doing so, the cluster-aware group router, now, works as
expected, picking up new worker nodes and distributing work as expected.
That said, FWIW, I did tweak the worker router just a bit as follows:
sealed trait WorkerRouter {
this: Actor =>
val group = RoundRobinGroup(List("/user/worker"))
val settings = ClusterRouterGroupSettings(
totalInstances = 25,
routeesPaths = List("/user/worker"),
allowLocalRoutees = false,
useRole = Some("worker"))
val workerRouter = context.actorOf(ClusterRouterGroup(group, settings).props,
name = "workerRouter")
}
Not sure if doing so was absolutely required. But it works! And I'll savor
the win for now. Sorry for the false alarm!
On Tuesday, June 28, 2016 at 10:07:39 AM UTC-5, objektwerks wrote:
>
> Using this cluster aware router, for instance:
>
> sealed trait WorkerRouter {
> this: Actor =>
> val group = RoundRobinGroup(Nil)
> val settings = ClusterRouterGroupSettings(
> totalInstances = 25,
> routeesPaths = List("/user/worker"),
> allowLocalRoutees = false,
> useRole = Some("worker"))
> val workerRouter = context.actorOf(ClusterRouterGroup(group,
> settings).props, name = "workerRouter")
> }
>
>
> I've noticed that it DOES NOT recognize new worker nodes. Looking at the
> source code, it looks as though it should. Thoughts? Thanks in advance.
>
> On Monday, May 30, 2016 at 9:07:23 AM UTC-5, Akka Team wrote:
>>
>> Hi Regu,
>>
>> You can either use a group, in which case you are responsible for
>> starting the routee on every node (note that you can also limit which nodes
>> that have routees by means of the use-role configuration), or you can use a
>> pool where the router will create routees on the cluster nodes.
>>
>> With a group, when you add new nodes the routee on them will
>> automagically become a part of the router destinations, so no need to
>> communicate the change to the router - it is what it does.
>>
>> You can see examples of how to configure this in the docs here:
>> http://doc.akka.io/docs/akka/2.4.6/scala/cluster-usage.html#Router_with_Group_of_Routees
>>
>> --
>> Johan
>>
>> Akka Team
>> Typesafe - Reactive apps on the JVM
>> Blog: letitcrash.com
>> Twitter: @akkateam
>>
>
--
>>>>>>>>>> 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 https://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.