Re: [akka-user] creating akka actors by using context.actorOf

2014-11-07 Thread Konrad 'ktoso' Malawski
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

2014-11-07 Thread Paul Cleary
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

2014-11-07 Thread Patrik Nordwall
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

2014-11-07 Thread Martynas Mickevičius
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)

2014-11-07 Thread Martynas Mickevičius
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

2014-11-07 Thread √iktor Ҡlang
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

2014-11-07 Thread Martynas Mickevičius
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

2014-11-07 Thread Martynas Mickevičius
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

2014-11-07 Thread Robert Preissl
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

2014-11-07 Thread Bartek Kowalik
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

2014-11-07 Thread Martynas Mickevičius
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

2014-11-07 Thread √iktor Ҡlang
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

2014-11-07 Thread Bartek Kowalik
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

2014-11-07 Thread Bartek Kowalik
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

2014-11-07 Thread √iktor Ҡlang
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

2014-11-07 Thread Bartek Kowalik
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

2014-11-07 Thread √iktor Ҡlang
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

2014-11-07 Thread Jeroen Gordijn
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

2014-11-07 Thread Nicholas Ustinov


среда, 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

2014-11-07 Thread Bartek Kowalik
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

2014-11-07 Thread √iktor Ҡlang
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

2014-11-07 Thread Hannes
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

2014-11-07 Thread Konrad 'ktoso' Malawski
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

2014-11-07 Thread jxtps
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

2014-11-07 Thread jxtps
+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

2014-11-07 Thread chris
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.