Re: [akka-user] creating akka actors by using context.actorOf
Hello there, Have you read this section of the docs? http://doc.akka.io/docs/akka/2.3.6/java/untyped-actors.html#creating-actors-with-props context is a method available to Actors, it starts “child actors”, and not “top level actors” (it’s cheaper - do this). -- Konrad 'ktoso' Malawski hAkker @ typesafe http://akka.io -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] Exploring Akka Streams and Akka Clustering
Thanks Bjorn for the response. I kind of gleaned from further reading here and elsewhere that akka streams does not run on a cluster. By not ready for Spark, simply means that we do not have a practice (hardware, ops, engineering) to support it. We _do_ however have practices supporting Storm and Hadoop. The project I am working on is getting data through Kafka. I am getting essentially measures and dimensions coming through Kafka. The process I am building looks like: Filter -- Partition by Dimension 1 -- Partition by Dimension 2 -- Create Aggregates If I want to be able to create aggregates / rollups across some dimension, I need to be able to have all of those messages land in the same spot. Calculating perc50 or perc99 and other metrics. I suppose in theory I could use some combination of Akka Streams to do the simple Filter and Partitions, but then crunch the numbers in a cluster via Akka Clustering. On Tuesday, November 4, 2014 4:11:11 PM UTC-5, Björn Antonsson wrote: Hi Paul, Akka streams is still under development and marked as an experimental feature. Currently they can _not_ take advantage of the nodes in an akka cluster without writing all the code youserlf and connecting them over TCP. Doing this automatically is of course something that we have been thinking about, but it is still only on the drawing board. Why do you feel that you are not ready for Spark? It would be very good feedback to know what to improve with akka streams. B/ On 4 November 2014 at 13:48:12, Paul Cleary (pcle...@gmail.com javascript:) wrote: Working on a project where we need to do processing of high-volume data arriving via Kafka. We did a POC in Spark Streaming, but we are not yet ready for Spark. I was looking at using Storm, but the abstractions make me sad, at least compared to how you can pipeline in Spark. I am investigating using Akka Streams as an alternative to Storm, since we can support Akka + Play in production today. It feels like Akka Streams + Akka Clustering makes for a way to setup distributed pipelines to process large data flows. I was wondering if anyone can give me any pointers on how to setup Akka Streams so that it runs on a cluster (or if it is even possible). -- 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+...@googlegroups.com javascript:. To post to this group, send email to akka...@googlegroups.com javascript:. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Björn Antonsson Typesafe http://typesafe.com/ – Reactive Apps on the JVM twitter: @bantonsson http://twitter.com/#!/bantonsson -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] Switch off rebalancing for Cluster Sharding
Setting the rebalance-interval to something large will effectively turn off rebalancing, but still keep the fail-over properties. /Patrik On Wed, Nov 5, 2014 at 3:58 PM, Wolfgang Friedl wolfgang.fri...@hotmail.com wrote: Hi together! I know its sounds a little bit strange but is it possible to switch of the re balancing-mechanism of the Cluster-Shard by eg. setting the rebalance-interval to some infinite value, or could even than a re-balance happen when a new node is added to the Cluster. In our setup it would be the best that shards don't move once the are assigned to a node. It should only move when the node where the shard is running is shutdown. Regards Wolfgang -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Patrik Nordwall Typesafe http://typesafe.com/ - Reactive apps on the JVM Twitter: @patriknw -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] Re: Setting custom jms message header with Akka Camel
Have you seen transformOutgoingMessage https://github.com/akka/akka/blob/cb05725c1ec8a09e9bfd57dd093911dd41c7b288/akka-camel/src/main/scala/akka/camel/Producer.scala#L89 which I have just noticed? On Fri, Nov 7, 2014 at 5:32 PM, Martynas Mickevičius martynas.mickevic...@typesafe.com wrote: Hello Henry, I think that the solution you came up with is very decent. I have registered an issue https://github.com/akka/akka/issues/16249 for the referenced method which is not there anymore. On Fri, Nov 7, 2014 at 2:42 PM, Henry Coles henry.co...@googlemail.com wrote: On Thursday, 6 November 2014 14:21:52 UTC, Henry Coles wrote: According to the docs for 1.3.1 this sort of thing can be done by overriding the receiveBeforeProduce method. Although this method is still referred to in the scala doc in 2.3.6, it no longer seems to exist. How should custom headers now be added in a Producer? Simple solution I came up with for this was to create an actor that receives my internal message type and constructs a CamelMessage with headers etc before forwarding it to the Producer actor. Would be interested if there is a better way. Thanks Henry -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Martynas Mickevičius Typesafe http://typesafe.com/ – Reactive http://www.reactivemanifesto.org/ Apps on the JVM -- Martynas Mickevičius Typesafe http://typesafe.com/ – Reactive http://www.reactivemanifesto.org/ Apps on the JVM -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] SSL Support of akka-http(0.9)
Hello Zirou, I am afraid this is still not possible also with the just released 0.10. You can follow progress on SSL in these https://github.com/akka/akka/issues/16167 tickets https://github.com/akka/akka/issues/16106. On Fri, Nov 7, 2014 at 6:50 AM, zirou.kug...@fringe81.com wrote: I tried to get contents of SSL encrypted page by using akka.http.HTTP.Connect, but i couldn't.(version is 0.9) According to the code, coming api will support ssl connection by SetupHostConnector's flag, but i could not find how to do it by using current API. How do i get contents of SSL encrypted page by using current akka-http's API? -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Martynas Mickevičius Typesafe http://typesafe.com/ – Reactive http://www.reactivemanifesto.org/ Apps on the JVM -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] ask Await overhead
Hi Bartek, Why do you use Await? On Fri, Nov 7, 2014 at 5:38 PM, Bartek Kowalik bartekvi...@gmail.com wrote: Hi, I have an issue with overhead on awaiting ask. import scala.concurrent.duration._ val a = dispatcher.ask(StartWork(arg))(10 seconds) Await.result(a, 10 seconds).asInstanceOf[WorkResult].result and when I benchmark that I get about 500ms and more. dispatcher actor spawns child task and child task do the work. It take under 90ms. The performance of Dispatcher and Task actors is measured by putting start and and System.currentTimeMillis I have Scala 2.10.4, Akka 2.3.4. It uses also Play Framework 2.3.1 and this work is taken deep inside services in my application but measurements are taken in call place. My question is: is it normal to Await and ask take more then 400ms. It looks like something with executing context. My guess is that it executes in different threadpool. Thanks in advance! -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Cheers, √ -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] Re: Unrecoverable gated state in remote system
Hi Robert, as you mentioned and from the logs you provided its seems that messages are flowing from node{1,2} to node3 after restart, but not to the other direction. Would it be possible that your application tries to send messages from node3 to node{1,2} using ActorRefs which were resolved before the restart of node{1,2}? ActorRef includes actor UID which changes after Actor is stopped and started again, which happens upon node restart. Here is https://github.com/2m/sandbox-akka-remote/blob/fd61036875bcb622e6a5657c16d879bcc7b6b21b/src/main/scala/NodeRestart.scala a quick example code that illustrates that situation. If so, you should send messages using ActorSelection or re-resolve ActorRefs after node restart or periodically. On Fri, Nov 7, 2014 at 3:58 AM, Robert Preissl robe...@ticketfly.com wrote: Hello Endre, First of all, thanks for replying so quickly! Second, I need to mention that we use Akka remoting. and not Akka clustering (yet). not sure if this makes a difference. What I mean that in our restart scenario (where first node1 and node2 are simultaneously restarted. and then node3) when node1 and node2 are coming back up, it seems that the connection node1 - node3 works fine. but the connection node3 - node1 does not. So, to answer your question, yes, it seems we loose messages from node3. I attached more detail logs below. (and please excuse the many log lines; i tried to clean it up as much as possible) what is interesting to see is this line: *processing Event(Disassociated [akka.tcp://DivaPCluster@10.57.0.43:8900 http://DivaPCluster@10.57.0.43:8900] - [akka.tcp://DivaPCluster@10.57.0.41:8900 http://DivaPCluster@10.57.0.41:8900]* 10.57.0.43 is node3. and 10.57.0.41 is node1, by the way. so, the connection between node3 and node1 is Disassociated; which explains maybe why node1 never hears back from node3 when it tries to sync up. We looked a bit in the akka source code and found that stopping an EndpointWriter (I think) triggers a Disassociated to be fired, right? and we can see this stop in a few log lines above: *[akka://DivaPCluster/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FDivaPCluster%4010.57.0.41%3A8900-0/endpointWriter] akka.remote.EndpointWriter - stopping* so, why is it stopping? is this our problem here? the logs from node3 are attached as a file. Thank you! Robert On Wednesday, November 5, 2014 12:55:04 PM UTC-8, Robert Preissl wrote: hello! I am having a problem in my remote Akka production system, which consists of 3 nodes running with the latest version of Akka (2.3.6.): In more details, I am experiencing errors with *rolling restarts* of the cluster (for deployment, etc. we cannot afford any downtime), where a restart happens in the following sequence 1.) restart node1 and node2. 2.) once 1. completed, restart node3. *but we only observe failures once there is a load (even small load) on the system*. So, I want to describe two scenarios: *Scenario 1 - no load on the system: Restart works.* if there is no load on the system at all, the restarting seems to work fine. I.e., with detailed logging I can observe that node3 logs the following events: (in chronological order) 13:09:48.769 WARN [akka.tcp://DivaPCluster@NODE_ 3:8900/system/endpointManager/reliableEndpointWriter-akka.tcp0-1] akka.remote.ReliableDeliverySupervisor - Association with remote system [akka.tcp://DivaPCluster@NODE_2:8900] has failed, address is now gated for [5000] ms. Reason is: [Disassociated]. 13:09:48.823 WARN [akka.tcp://DivaPCluster@NODE_ 3:8900/system/endpointManager/reliableEndpointWriter-akka.tcp0-0] akka.remote.ReliableDeliverySupervisor - Association with remote system [akka.tcp://DivaPCluster@NODE_1:8900] has failed, address is now gated for [5000] ms. Reason is: [Disassociated]. 13:10:10.661 DEBUG [Remoting] Remoting - Associated [akka.tcp://DivaPCluster@NODE_3:8900] - [akka.tcp://DivaPCluster@NODE_ 2:8900] 13:10:10.987 DEBUG [Remoting] Remoting - Associated [akka.tcp://DivaPCluster@NODE_3:8900] - [akka.tcp://DivaPCluster@NODE_ 1:8900] Since node1 and node2 restart, it is fine that the association is gated between node3 - node1 (and between node3 - node2) for a while. And I assume it becomes active again since a successful inbound connection is accepted from a remote system during Gate it automatically transitions to Active (as you describe in http://doc.akka.io/docs/akka/ snapshot/java/remoting.html) this can be verified since I can see the logs on node1 that it tries to connect at this point in time after the restart: 13:10:10.861 (and the connection becomes active on node3; managing node3 - node1; at time 13:10:10.987 as you can see above) so, everything cool here and the system restarts fine! *Scenario 2 - easy load on the system: Restart fails due to Unrecoverable gated state* Similar to Scenario 1 above, I can observe the gated messages for links node3 -
Re: [akka-user] Akka with Java 8 lambda support - MDC
Hi, there is Logging.apply(logSource: Actor) https://github.com/akka/akka/blob/fe1718c88f19c95785f479ffa186959146cbca04/akka-actor/src/main/scala/akka/event/Logging.scala#L526-L530 which you can use with AbstractActor. On Thu, Nov 6, 2014 at 10:40 PM, nil...@gmail.com wrote: I'm testing the experimental Java 8 lambda support with akka and AbstractActor, but I cannot seem to find a way to use the MDC feature this way. With an untyped actor, I can do Logging.getLogger(this) and get a DiagnosticLoggingAdapter with MDC support. However, since AbstractActor does not extend UntypedActor, I can only get a regular LoggingAdapter, with no way to set the MDC. Am I missing something? Is it possible with AbstractActor, or do I need to switch back to using UntypedActor? -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Martynas Mickevičius Typesafe http://typesafe.com/ – Reactive http://www.reactivemanifesto.org/ Apps on the JVM -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] Re: Unrecoverable gated state in remote system
Hello Martynas, Well, I think I can rule this option out because: - without any load on the system (my scenario 1 in my orig. post) a restart works fine. - also, most of the time node3 can send back messages to node2. but node3 does not send to node1. (however, sometimes both nodes, node1 and node2 do not hear back from node3) - and we also tried with ActorSelection and it did not work. is it suspicious to see Disassociated messages? or is this just a symptom? Thanks, Robert On Friday, November 7, 2014 9:15:42 AM UTC-8, Martynas Mickevičius wrote: Hi Robert, as you mentioned and from the logs you provided its seems that messages are flowing from node{1,2} to node3 after restart, but not to the other direction. Would it be possible that your application tries to send messages from node3 to node{1,2} using ActorRefs which were resolved before the restart of node{1,2}? ActorRef includes actor UID which changes after Actor is stopped and started again, which happens upon node restart. Here is https://github.com/2m/sandbox-akka-remote/blob/fd61036875bcb622e6a5657c16d879bcc7b6b21b/src/main/scala/NodeRestart.scala a quick example code that illustrates that situation. If so, you should send messages using ActorSelection or re-resolve ActorRefs after node restart or periodically. On Fri, Nov 7, 2014 at 3:58 AM, Robert Preissl rob...@ticketfly.com javascript: wrote: Hello Endre, First of all, thanks for replying so quickly! Second, I need to mention that we use Akka remoting. and not Akka clustering (yet). not sure if this makes a difference. What I mean that in our restart scenario (where first node1 and node2 are simultaneously restarted. and then node3) when node1 and node2 are coming back up, it seems that the connection node1 - node3 works fine. but the connection node3 - node1 does not. So, to answer your question, yes, it seems we loose messages from node3. I attached more detail logs below. (and please excuse the many log lines; i tried to clean it up as much as possible) what is interesting to see is this line: *processing Event(Disassociated [akka.tcp://DivaPCluster@10.57.0.43:8900 http://DivaPCluster@10.57.0.43:8900] - [akka.tcp://DivaPCluster@10.57.0.41:8900 http://DivaPCluster@10.57.0.41:8900]* 10.57.0.43 is node3. and 10.57.0.41 is node1, by the way. so, the connection between node3 and node1 is Disassociated; which explains maybe why node1 never hears back from node3 when it tries to sync up. We looked a bit in the akka source code and found that stopping an EndpointWriter (I think) triggers a Disassociated to be fired, right? and we can see this stop in a few log lines above: *[akka://DivaPCluster/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FDivaPCluster%4010.57.0.41%3A8900-0/endpointWriter] akka.remote.EndpointWriter - stopping* so, why is it stopping? is this our problem here? the logs from node3 are attached as a file. Thank you! Robert On Wednesday, November 5, 2014 12:55:04 PM UTC-8, Robert Preissl wrote: hello! I am having a problem in my remote Akka production system, which consists of 3 nodes running with the latest version of Akka (2.3.6.): In more details, I am experiencing errors with *rolling restarts* of the cluster (for deployment, etc. we cannot afford any downtime), where a restart happens in the following sequence 1.) restart node1 and node2. 2.) once 1. completed, restart node3. *but we only observe failures once there is a load (even small load) on the system*. So, I want to describe two scenarios: *Scenario 1 - no load on the system: Restart works.* if there is no load on the system at all, the restarting seems to work fine. I.e., with detailed logging I can observe that node3 logs the following events: (in chronological order) 13:09:48.769 WARN [akka.tcp://DivaPCluster@NODE_ 3:8900/system/endpointManager/reliableEndpointWriter-akka.tcp0-1] akka.remote.ReliableDeliverySupervisor - Association with remote system [akka.tcp://DivaPCluster@NODE_2:8900] has failed, address is now gated for [5000] ms. Reason is: [Disassociated]. 13:09:48.823 WARN [akka.tcp://DivaPCluster@NODE_ 3:8900/system/endpointManager/reliableEndpointWriter-akka.tcp0-0] akka.remote.ReliableDeliverySupervisor - Association with remote system [akka.tcp://DivaPCluster@NODE_1:8900] has failed, address is now gated for [5000] ms. Reason is: [Disassociated]. 13:10:10.661 DEBUG [Remoting] Remoting - Associated [akka.tcp://DivaPCluster@NODE_3:8900] - [akka.tcp://DivaPCluster@NODE_ 2:8900] 13:10:10.987 DEBUG [Remoting] Remoting - Associated [akka.tcp://DivaPCluster@NODE_3:8900] - [akka.tcp://DivaPCluster@NODE_ 1:8900] Since node1 and node2 restart, it is fine that the association is gated between node3 - node1 (and between node3 - node2) for a while. And I assume it becomes active again since a successful inbound connection is accepted from a
Re: [akka-user] ask Await overhead
Bevause rest of the service is synchronous and it will cost more time to rewrite that to async code. -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] Re: Unrecoverable gated state in remote system
I think these messages are fine. After node{1,2} comes back on node3 should associate with new nodes. From the logs I see that there is quite a lot of custom code running (such as diva.core.engine.PaxosDistributedKeyManager) which is listening for Association/Disassociation Events. Have you tried the restart scenario with some load with simplest actors possible and see if you can reproduce the issue? On Fri, Nov 7, 2014 at 7:37 PM, Robert Preissl robe...@ticketfly.com wrote: Hello Martynas, Well, I think I can rule this option out because: - without any load on the system (my scenario 1 in my orig. post) a restart works fine. - also, most of the time node3 can send back messages to node2. but node3 does not send to node1. (however, sometimes both nodes, node1 and node2 do not hear back from node3) - and we also tried with ActorSelection and it did not work. is it suspicious to see Disassociated messages? or is this just a symptom? Thanks, Robert On Friday, November 7, 2014 9:15:42 AM UTC-8, Martynas Mickevičius wrote: Hi Robert, as you mentioned and from the logs you provided its seems that messages are flowing from node{1,2} to node3 after restart, but not to the other direction. Would it be possible that your application tries to send messages from node3 to node{1,2} using ActorRefs which were resolved before the restart of node{1,2}? ActorRef includes actor UID which changes after Actor is stopped and started again, which happens upon node restart. Here is https://github.com/2m/sandbox-akka-remote/blob/fd61036875bcb622e6a5657c16d879bcc7b6b21b/src/main/scala/NodeRestart.scala a quick example code that illustrates that situation. If so, you should send messages using ActorSelection or re-resolve ActorRefs after node restart or periodically. On Fri, Nov 7, 2014 at 3:58 AM, Robert Preissl rob...@ticketfly.com wrote: Hello Endre, First of all, thanks for replying so quickly! Second, I need to mention that we use Akka remoting. and not Akka clustering (yet). not sure if this makes a difference. What I mean that in our restart scenario (where first node1 and node2 are simultaneously restarted. and then node3) when node1 and node2 are coming back up, it seems that the connection node1 - node3 works fine. but the connection node3 - node1 does not. So, to answer your question, yes, it seems we loose messages from node3. I attached more detail logs below. (and please excuse the many log lines; i tried to clean it up as much as possible) what is interesting to see is this line: *processing Event(Disassociated [akka.tcp://DivaPCluster@10.57.0.43:8900 http://DivaPCluster@10.57.0.43:8900] - [akka.tcp://DivaPCluster@10.57.0.41:8900 http://DivaPCluster@10.57.0.41:8900]* 10.57.0.43 is node3. and 10.57.0.41 is node1, by the way. so, the connection between node3 and node1 is Disassociated; which explains maybe why node1 never hears back from node3 when it tries to sync up. We looked a bit in the akka source code and found that stopping an EndpointWriter (I think) triggers a Disassociated to be fired, right? and we can see this stop in a few log lines above: *[akka://DivaPCluster/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FDivaPCluster%4010.57.0.41%3A8900-0/endpointWriter] akka.remote.EndpointWriter - stopping* so, why is it stopping? is this our problem here? the logs from node3 are attached as a file. Thank you! Robert On Wednesday, November 5, 2014 12:55:04 PM UTC-8, Robert Preissl wrote: hello! I am having a problem in my remote Akka production system, which consists of 3 nodes running with the latest version of Akka (2.3.6.): In more details, I am experiencing errors with *rolling restarts* of the cluster (for deployment, etc. we cannot afford any downtime), where a restart happens in the following sequence 1.) restart node1 and node2. 2.) once 1. completed, restart node3. *but we only observe failures once there is a load (even small load) on the system*. So, I want to describe two scenarios: *Scenario 1 - no load on the system: Restart works.* if there is no load on the system at all, the restarting seems to work fine. I.e., with detailed logging I can observe that node3 logs the following events: (in chronological order) 13:09:48.769 WARN [akka.tcp://DivaPCluster@NODE_ 3:8900/system/endpointManager/reliableEndpointWriter-akka.tcp0-1] akka.remote.ReliableDeliverySupervisor - Association with remote system [akka.tcp://DivaPCluster@NODE_2:8900] has failed, address is now gated for [5000] ms. Reason is: [Disassociated]. 13:09:48.823 WARN [akka.tcp://DivaPCluster@NODE_ 3:8900/system/endpointManager/reliableEndpointWriter-akka.tcp0-0] akka.remote.ReliableDeliverySupervisor - Association with remote system [akka.tcp://DivaPCluster@NODE_1:8900] has failed, address is now gated for [5000] ms. Reason is: [Disassociated]. 13:10:10.661 DEBUG [Remoting] Remoting - Associated
Re: [akka-user] ask Await overhead
You seem to be losing 500ms per call, that quickly will amount to a lot of time wasted too. What thread are you calling Await on? On Nov 7, 2014 6:45 PM, Bartek Kowalik bartekvi...@gmail.com wrote: Bevause rest of the service is synchronous and it will cost more time to rewrite that to async code. -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] ask Await overhead
This is called inside future which is inside an Actor. -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] ask Await overhead
But this future is piped to the place where actor is called. -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] ask Await overhead
An actor is already async, don't call await inside it. On Nov 7, 2014 6:59 PM, Bartek Kowalik bartekvi...@gmail.com wrote: This is called inside future which is inside an Actor. -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] ask Await overhead
Yes I know but this is synchronous service run from actor inside future. This service calls an actor and because it is synchronous I have to await result... I want to avoid rewriting it. -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] ask Await overhead
I don't understand why you'd have to call await. inside your actor: def receive = { case something = callSomeServiceThatReturnsAFuture pipeTo sender } On Fri, Nov 7, 2014 at 8:55 PM, Bartek Kowalik bartekvi...@gmail.com wrote: Yes I know but this is synchronous service run from actor inside future. This service calls an actor and because it is synchronous I have to await result... I want to avoid rewriting it. -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Cheers, √ -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
[akka-user] Akka, Camel ActiveMQ oneway
Hi all, I want to place a message on a JMS Queue with Akka-Camel. This works just fine, however I want to be sure that the message was really placed on the queue. The queue is oneway, so I do not expect any response from another consumer. However, when I configure this in my code as oneway, the actor sending to the producer does not get any notification that the message was really delivered on the queue. ProducerSupport in Akka-Camel has the following code: protected def routeResponse(msg: Any): Unit = if (!oneway) sender() ! transformResponse(msg) This means that I do not get any response when oneway is configured. But the endpoint does give feedback whether the message was delivered and this is now lost. I solved it by putting the following code in my own producer: override protected def routeResponse(msg: Any): Unit = sender() ! transformResponse(msg) Is there any reason for the if statement? Can anything go wrong when the if statement is dropped in the akka-camel codebase? Thanks, Jeroen -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] akka persistence / snapshot of big objects
среда, 29 октября 2014 г., 12:53:34 UTC+3 пользователь Akka Team написал: Hi Nikolay, On Tue, Oct 28, 2014 at 5:40 PM, Nicholas Ustinov nust...@gmail.com javascript: wrote: Hello. I'm trying to use akka persistence in our text-processing application. We have a lot of PersistentActor-s (around 150-200) with quite large state objects (100Mb and bigger, up to 1-2G) in single-node installation. Events are of course much smaller, but big enough too. And during saving snapshot we would prefer not to clone state objects, but write them in streaming way to reduce memory consumption. Is it possible now (or is it planned in future?) Currently there is no way to stream snapshot data, you need to pass the whole thing. It might be a nice feature though. Well, I think, yes, it would be nice. Overall, what would smbd recommends for working with akka persistence with big state objects? Is there any reason why one actor needs to hold that large state? Cannot you factor this big chunk of state into smaller actors so that you need to snapshot smaller chunks of it? This is some kind of index. We already split it at domain level, but unfortunately right now we have no idea how to split it further without affecting logic too much. Currently we had to return to basic file-based state saving on per-time basis and temporarily disable akka persistence usage. -Endre Thanks, Nikolay -- 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+...@googlegroups.com javascript:. To post to this group, send email to akka...@googlegroups.com javascript:. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Akka Team Typesafe - The software stack for applications that scale 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 akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] ask Await overhead
My call stack looks like that: controller - ask actor - future with pipeTo inside actor - inside future: doSth callMethodWithAwaitInside doSthMore and also this method callMethodWithAwaitInside is used in synchronous parts of the system. W dniu piątek, 7 listopada 2014 22:17:11 UTC+1 użytkownik √ napisał: I don't understand why you'd have to call await. inside your actor: def receive = { case something = callSomeServiceThatReturnsAFuture pipeTo sender } On Fri, Nov 7, 2014 at 8:55 PM, Bartek Kowalik barte...@gmail.com javascript: wrote: Yes I know but this is synchronous service run from actor inside future. This service calls an actor and because it is synchronous I have to await result... I want to avoid rewriting it. -- 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+...@googlegroups.com javascript:. To post to this group, send email to akka...@googlegroups.com javascript:. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Cheers, √ -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] ask Await overhead
Ah, so you're using Await -inside- the Future? You said previously This service calls an actor and because it is synchronous I have to await result... I'd make it look like this instead: Future { doSth } flatMap { callMethodWithOUTAwaitInsideButInsteadReturnsItsFuture } map doSthMore On Fri, Nov 7, 2014 at 11:22 PM, Bartek Kowalik bartekvi...@gmail.com wrote: My call stack looks like that: controller - ask actor - future with pipeTo inside actor - inside future: doSth callMethodWithAwaitInside doSthMore and also this method callMethodWithAwaitInside is used in synchronous parts of the system. W dniu piątek, 7 listopada 2014 22:17:11 UTC+1 użytkownik √ napisał: I don't understand why you'd have to call await. inside your actor: def receive = { case something = callSomeServiceThatReturnsAFuture pipeTo sender } On Fri, Nov 7, 2014 at 8:55 PM, Bartek Kowalik barte...@gmail.com wrote: Yes I know but this is synchronous service run from actor inside future. This service calls an actor and because it is synchronous I have to await result... I want to avoid rewriting it. -- 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+...@googlegroups.com. To post to this group, send email to akka...@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Cheers, √ -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Cheers, √ -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
[akka-user] Akka as Gradle dependency
Is there any way to add Akka as Gradle dependency to a project? -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] Akka as Gradle dependency
Viktor +1, and search.maven.org also helps on htat frmot http://search.maven.org/#artifactdetails%7Ccom.typesafe.akka%7Cakka-actor_2.11%7C2.3.6%7Cjar Happy hakking! — ktoso On 7 November 2014 at 23:41:08, √iktor Ҡlang (viktor.kl...@gmail.com) wrote: Hi Hannes, The docs are fantastic: http://doc.akka.io/docs/akka/2.3.6/intro/getting-started.html :-) On Fri, Nov 7, 2014 at 11:38 PM, Hannes dub...@gmail.com wrote: Is there any way to add Akka as Gradle dependency to a project? -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Cheers, √ -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Konrad 'ktoso' Malawski hAkker @ typesafe http://akka.io -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
[akka-user] Akka Cluster + EC2, life cycle of seed node
There https://groups.google.com/forum/#!searchin/akka-user/ec2$20seed$20nodes/akka-user/lBcl3WgEM_0/mocdn8-jmXsJ are a https://groups.google.com/forum/#!searchin/akka-user/ec2$20seed$20nodes/akka-user/_1oc9aEfEJw/zye9BSVKFccJ number https://groups.google.com/forum/#!searchin/akka-user/ec2$20seed$20nodes/akka-user/-rwF3t_OF4I/soogf_uHLgsJ of threads https://groups.google.com/forum/#!searchin/akka-user/ec2$20seed$20nodes/akka-user/rKS9jnaFvv8/_1ulsZQvfX0J on how to deploy an akka cluster on ec2, and it seems straightforward to establish the list of potential members of a cluster (e.g. get the members in an auto scaling group, or a security group, or whatever), and these can be sensibly ordered (e.g. by launch time with IP being a tie-breaker) such that all hosts can agree on which one should be the primary seed node. Cluster(system).joinSeedNodes(primary, *[hosts other than current one]*) can then be used to get the cluster going. So far so good. However, when the primary starts the application (after first launch, code deploy, or reboot), it has no idea if there's already a cluster running, or if it should indeed start a new cluster (keep in mind that a cluster may recently have been running, but it may have been shut down in the last 30 seconds so that helpful information you wrote to disk before restarting may be terribly out of date). *Assuming there is no network partitioning*, i *s Cluster(system).joinSeedNodes(myself, host2, host3, host4, ...) smart enough to check for and join an existing cluster if the other hosts are already running it, or does it always start a new one if the current machine is the first entry?* Previous answers https://groups.google.com/d/msg/akka-user/rKS9jnaFvv8/lwW8pzLJ5xEJ have left this precise point a little ambiguous. If not, what are some best practices for how to have the intended seed node start a new cluster if the cluster isn't running, but be smart enough to join the existing cluster if it's already there? *I do not want to use any external dependencies (= zookeeper) other than the AWS APIs from which I can get a canonical list of all the relevant hosts. * -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] Akka cluster and scheduled tasks
+1, I have effectively the same situation - I need singleton scheduled tasks more so that singleton actors (the billing code should only run once per day). What are the best practices for this scenario? I guess I could schedule the task in the start callback of the Singleton, and stop it in the stop callback. Then when the cluster leader changes the schedule would be first stopped, then restarted when the Singleton starts up again on the new leader. Maybe that's a workable solution? If the leader is terminated, do the ActorSystem.scheduler.schedule() tasks that were initiated on it disappear? They aren't replicated across the cluster or something crazy like that, right? (Since they're called on the ActorSystem it looks ambiguous) -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
[akka-user] Re: Akka Cluster + EC2, life cycle of seed node
What I do is use a central sql database and have active nodes periodically update it with their status. New nodes joining the cluster just query that to get a node to join against. The notion of a 'primary' seed node doesn't really exist in akka, seeds are not any different then regular nodes. This has proven to work reliably. With transactions I have atomic updates on the data that represents the cluster status. At some point you must use some type of external service/data source to manage your nodes. When things to wrong and you have network partitions and such, an individual cluster has no way of just fixing things on it's own without outside assistance. You can bake this logic into your nodes so they can self manage the situation, or you can use external tools. But one way or another you need a layer of logic that sits outside the cluster to handle this well. Chris On Friday, November 7, 2014 3:11:21 PM UTC-8, jxtps wrote: There https://groups.google.com/forum/#!searchin/akka-user/ec2$20seed$20nodes/akka-user/lBcl3WgEM_0/mocdn8-jmXsJ are a https://groups.google.com/forum/#!searchin/akka-user/ec2$20seed$20nodes/akka-user/_1oc9aEfEJw/zye9BSVKFccJ number https://groups.google.com/forum/#!searchin/akka-user/ec2$20seed$20nodes/akka-user/-rwF3t_OF4I/soogf_uHLgsJ of threads https://groups.google.com/forum/#!searchin/akka-user/ec2$20seed$20nodes/akka-user/rKS9jnaFvv8/_1ulsZQvfX0J on how to deploy an akka cluster on ec2, and it seems straightforward to establish the list of potential members of a cluster (e.g. get the members in an auto scaling group, or a security group, or whatever), and these can be sensibly ordered (e.g. by launch time with IP being a tie-breaker) such that all hosts can agree on which one should be the primary seed node. Cluster(system).joinSeedNodes(primary, *[hosts other than current one]*) can then be used to get the cluster going. So far so good. However, when the primary starts the application (after first launch, code deploy, or reboot), it has no idea if there's already a cluster running, or if it should indeed start a new cluster (keep in mind that a cluster may recently have been running, but it may have been shut down in the last 30 seconds so that helpful information you wrote to disk before restarting may be terribly out of date). *Assuming there is no network partitioning*, i *s Cluster(system).joinSeedNodes(myself, host2, host3, host4, ...) smart enough to check for and join an existing cluster if the other hosts are already running it, or does it always start a new one if the current machine is the first entry?* Previous answers https://groups.google.com/d/msg/akka-user/rKS9jnaFvv8/lwW8pzLJ5xEJ have left this precise point a little ambiguous. If not, what are some best practices for how to have the intended seed node start a new cluster if the cluster isn't running, but be smart enough to join the existing cluster if it's already there? *I do not want to use any external dependencies (= zookeeper) other than the AWS APIs from which I can get a canonical list of all the relevant hosts. * -- 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.