[akka-user][deprecated] Error message: New incarnation of existing member is trying to join. Existing will be removed from the cluster and then new member will be allowed to join.
Hi all, I was running a cluster of four nodes, one client node and three worker nodes in my testing. 1) After which, a cluster.down(..) was issued to the client node. 2) The client node listens on Cluster(system).registerOnMemberRemoved{ leaves cluster Does coordinated shutdown } The actorSytem is reset to null. 3) After which, the client node, upon receiving new requests, tries to reinitialize the actorSystem with the same port. That's when I see one time I was testing that this message was shown and kept showing indefinitely. New incarnation of existing member [Member(address = akka.tcp://abc@machineName:4504, status = Down)] is trying to join. Existing will be removed from the cluster and then new member will be allowed to join. But there are also times in my testing that the client is able to connect back to the worker nodes and jobs get processed. When I see this message, does it mean the leader node is not doing its job? I see that there is a similar jira filed here: https://github.com/akka/akka/issues/18368 We are using Akka 2.5.9. Could you advise if this is a known issue and if there is any workaround? Thanks, Grace -- * ** New discussion forum: https://discuss.akka.io/ replacing akka-user google-group soon. ** This group will soon be put into read-only mode, and replaced by discuss.akka.io ** More details: https://akka.io/blog/news/2018/03/13/discuss.akka.io-announced * >>>>>>>>>> >>>>>>>>>> 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 akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at https://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
[akka-user] Question on the WeaklyUp state
Hi, I read the description here: https://doc.akka.io/docs/akka/2.5.5/scala/cluster-usage.html#weaklyup-members 1) When a node is in the weakly up state, does the node process jobs like the nodes of the Up state? 2) In what case is it useful to have akka.cluster.allow-weakly-up-members turned on? What's the advantage of having a node join the weakly up state as part of the cluster versus to just wait in the joining state until it is moved into the Up state? Thanks, Grace -- >>>>>>>>>> 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 akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at https://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] Question on Akka router
Thanks Patrik. In my use case, I have a few hundreds of client nodes. I have about 300 worker nodes across 20 boxes. Due to a legacy limitation, one worker node can have only one actor and therefore, one worker node is only allowed to process one task at a time. Each task runs for a few seconds. If we go with router inside each client, do you have a suggestion which routing machanism we use for fairer distribution? We are using pool instead of group and we are currently using round-robin-pool. Haven't tested under heavy load yet. Would round robin be a good choice? Thanks, Grace -- >>>>>>>>>> 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 akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at https://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
[akka-user] Question on Akka router
Greetings! I am new to Akka and am trying to understand routing. In the below example, I have one front end and three backends running. Suppose I run two front ends, my understand is that each front end would have an instance of a router, is that correct? In such case, wouldn't the balancing logic be not quite correct because each router is not coordinated with another? Is it common practice to create a centralized router (one single router) that all clients (frontEnds) go to? What are the pros and cons of the single router design and do you know of an example of article of such? Or is this below design already sufficient for proper balanced routing? Thanks, Grace package com.packt.akka.loadBalancing import com.packt.akka.commons.Add object LoadBalancingApp extends App { //initiate three nodes from backend Backend.initiate(2551) Backend.initiate(2552) Backend.initiate(2561) //initiate frontend node Frontend.initiate() Thread.sleep(1) Frontend.getFrontend ! Add(2, 4) } Loadbalancer.conf akka { actor { provider = "akka.cluster.ClusterActorRefProvider" } remote { log-remote-lifecycle-events = off netty.tcp { hostname = "127.0.0.1" port = 0 } } cluster { seed-nodes = [ "akka.tcp://ClusterSystem@127.0.0.1:2551", "akka.tcp://ClusterSystem@127.0.0.1:2552"] auto-down-unreachable-after = 10s } } akka.cluster.min-nr-of-members = 3 akka.cluster.role { frontend.min-nr-of-members = 1 backend.min-nr-of-members = 2 } akka.actor.deployment { /frontend/backendRouter { # Router type provided by metrics extension. router = adaptive-group # Router parameter specific for metrics extension. # metrics-selector = heap # metrics-selector = load # metrics-selector = cpu metrics-selector = mix # nr-of-instances = 100 routees.paths = ["/user/backend"] cluster { enabled = on use-role = backend allow-local-routees = off } } } Backend.scala class Backend extends Actor { def receive = { case Add(num1, num2) => println(s"I'm a backend with path: ${self} and I received add operation.") } } object Backend { def initiate(port: Int){ val config = ConfigFactory.parseString(s "akka.remote.netty.tcp.port=$port"). withFallback(ConfigFactory.parseString("akka.cluster.roles = [backend]")). withFallback(ConfigFactory.load("loadbalancer")) val system = ActorSystem("ClusterSystem", config) val Backend = system.actorOf(Props[Backend], name = "backend") } } Fronend.scala class Frontend extends Actor { import context.dispatcher val backend = context.actorOf(FromConfig.props(), name = "backendRouter") context.system.scheduler.schedule(3.seconds, 3.seconds, self, Add(Random.nextInt(100), Random.nextInt(100))) def receive = { case addOp: Add => println("Frontend: I'll forward add operation to backend node to handle it.") backend forward addOp } } object Frontend { private var _frontend: ActorRef = _ val upToN = 200 def initiate() = { val config = ConfigFactory.parseString("akka.cluster.roles = [frontend]" ). withFallback(ConfigFactory.load("loadbalancer")) val system = ActorSystem("ClusterSystem", config) system.log.info("Frontend will start when 2 backend members in the cluster.") //#registerOnUp Cluster(system) registerOnMemberUp { _frontend = system.actorOf(Props[Frontend], name = "frontend") } //#registerOnUp } def getFrontend = _frontend } -- >>>>>>>>>> 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 akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at https://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.