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
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
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
>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
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
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
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
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?
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
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
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
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
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
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
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
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
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
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
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.
19 matches
Mail list logo