[akka-user] TestProbe() and actorSelection

2015-05-20 Thread Kostas kougios
Hi, I am trying to test actor code that uses actorSelection: val path = RootActorPath(member.address, name = "/user/clusterKeeper") context.actorSelection(path).resolveOne(5 seconds).foreach { clusterKeeper => clusterKeeper ! msg } member.address comes from akka clusters and has the ad

[akka-user] Passing ActorRef as Constructor argument is a good practice??

2015-05-20 Thread Hareesh Jagannathan
I am new to Akka and I am bulding a Data ingestion system as a cluster akka system based on (Blancing worker node pattern)with many remote nodes. The remote nodes are called workers. Workers create chain of remote routers using the available workers. The parent(Worker) which creates routers w

Re: [akka-user] Flow supervision decider

2015-05-20 Thread David Pratt
I agree completely - what I guess I'm struggling with (mainly because I haven't yet completely grokked the stream API yet) is how to elegantly compose these abstractions on top of a stream. The nice thing about a try is that while 'inside' it, I don't know or care about exception handling. Bas

Re: [akka-user] Flow supervision decider

2015-05-20 Thread Viktor Klang
>From my PoV: It is vital to distinguish "stream fatal errors" from "transient element processing error", the first terminates the stream abruptly, the second should be modeled within the processing domain, by transmitting things like Try[T] as elements for instance. On Wed, May 20, 2015 at 10:06

Re: [akka-user] Flow supervision decider

2015-05-20 Thread Patrik Nordwall
One thing to remember is that an upstream failure will be propagated downstream immediately without backpressure and thereby overtake previously emitted (buffered) elements, and transforming such an error to an element further downstream may result in unexpected order of elements. Another thing

[akka-user] Am I doing it wrong?

2015-05-20 Thread Anton Khodakivskiy
Hi I've recently attempted to build a bitcoin trading bot for Coinbase exchange. At first using Actors felt natural for this sort of problem. There is asynchronous incoming and outgoing messages (exchange tick data, placing, cancelling orders), a lot of state (managing order book, following own or

Re: [akka-user] Flow supervision decider

2015-05-20 Thread dpratt
Sorry - hit send too soon. foo.recover { case (NonFatal(e), failedValue) => log.error(e, "Problem processing stream value of {}", failedValue) "UNKNOWN VALUE" } On Wednesday, May 20, 2015 at 11:23:02 AM UTC-5, dpratt wrote: > > What if I have an existing stage/Flow that I do not have

Re: [akka-user] Flow supervision decider

2015-05-20 Thread dpratt
What if I have an existing stage/Flow that I do not have control over, or where it would not make sense to conflate the flow logic with the exception handling? For example val foo: Flow[String, String, Unit] = SomeLibrary.somethingThatGeneratesAFlow() how would I wrap foo with error handling?

Re: [akka-user] Messages simultaneously sended to Dead Letters and to destination Actor

2015-05-20 Thread Patrik Nordwall
I'm pretty sure that there is something in your code that cause the duplication, but it is a bit too much code for me to review/debug. Try to narrow it down, and if you find a small test that can reproduce the problem we would be happy to fix it. Thanks, Patrik On Wed, May 20, 2015 at 11:43 AM, A

Re: [akka-user] End-to-End Reactive Streaming RESTful service (a.k.a. Back-Pressure over HTTP)

2015-05-20 Thread Konrad Malawski
The back pressure is propagated to the client thanks to TCPs built in mechanisms for this - on the server side we simply do not read from the socket until demand is available, which causes the back pressure to be propagated properly. Konrad,  So if we are *not* using a congestion control awar

Re: [akka-user] End-to-End Reactive Streaming RESTful service (a.k.a. Back-Pressure over HTTP)

2015-05-20 Thread Matteo De Martino
Thanks very much Konrad! Very interesting videos; I will try experimenting more now. Do you want to post you answer on SO as well? I originally posted it there... http://stackoverflow.com/questions/30298972/end-to-end-reactive-streaming-restful-service-a-k-a-back-pressure-over-http Thanks! Matt

Re: [akka-user] Advantages and disadvantages of using 2 ActorSystem

2015-05-20 Thread Patrik Nordwall
I would recommend using the Play actor system instead of your own – Play ensures that the actor system's lifecycle is correctly managed, that the right classloader is used, etc etc, all for you. If you don’t use Play’s actor system, then you will need to manage this yourself, or you will have out o

Re: [akka-user] TestKit and how to avoid a failing (or sucesful) test affecting the other tests

2015-05-20 Thread Konstantinos Kougios
Thanks Martynas, withFixture looks promising. I've managed to sort out my tests so far even with sharing TestKit but if I get into troubles again I will try it. On 16/05/15 09:48, Martynas Mickevičius wrote: Hi Kostas, I think that tools provided by ScalaTest for code reuse could help you. F

Re: [akka-user] Messages simultaneously sended to Dead Letters and to destination Actor

2015-05-20 Thread Antonio Benvenuto
Hi Martynas I am sure that COORDINATOR_ACTOR does not duplicate messages. I have noticed that number of dead letters rise when I try to increment number of simultaneous request messages to GATE_ACTOR. Here you can see the code of example: *GATE_ACTOR_INTERFACE: * ht

Re: [akka-user] Can the actor in an actor model system be singleton?

2015-05-20 Thread Patrik Nordwall
On Sat, May 16, 2015 at 10:12 PM, wonderful world wrote: > In an actor model system, for example in a product catalog, there can be > thousands of actors for products - *Product A* is one actor and *Product > B* is another actor. > > There can be another *DiscountCalculatorActor* which finds the

Re: [akka-user] Flow supervision decider

2015-05-20 Thread Patrik Nordwall
I think we considered adding this to the stream supervision mechanism, but since it is not possible to express the types of the elements there in any sane way we decided to not do it. Instead we said that this specific recover scenario should be handled with try-catch within the function/stage of y

Re: [akka-user] Looking for the right remoting config to tune when 'unreachable' is not an error - to stop connecting after configurable duration

2015-05-20 Thread Patrik Nordwall
Hi Helena, First we must try to understand what is sending messages to the downed/removed nodes. After you have killed the B node the cluster failure detector will trigger and then I assume that you use some Cluster downing mechanism to remove the old B node from the cluster. Until that point it i

Re: [akka-user] Erratic latency behaviour

2015-05-20 Thread Patrik Nordwall
Hi Maarten, It's hard to guess what is causing that latency distribution. I would try to correlate it with GC pauses on all 3 JVMs. You can use flags like -XX:+PrintGCDetails -XX:+PrintGCTimeStamps. Make sure you use the latest version, i.e. 2.3.11. Regards, Patrik On Mon, May 11, 2015 at 6:03

Re: [akka-user] How to handle long GC in AKKA Actor model system

2015-05-20 Thread seetaramayya vadali
Thanks a lot for your valuable inputs. I understood what to do. Regards, Seeta On Tue, May 19, 2015 at 8:31 PM, Michael Frank wrote: > patrik answered this much better than i could have :) i was thinking > that your experience would be better if you could tune the JVM to be more > responsive.