Hi,

I have the following push dataflow using remote actors (netty.tcp 
transport) over the network:

SourceActor -> ProcessingActor ~~ network ~~>  CollectingActor

The problem is that if the network is relatively slow the processing actor 
successfully sends the messages but they get all buffered inside the same 
JVM until it blows with OOM. I am looking how to slow down the SourceActor 
if the upstream network is slower than the production rate. I have put 
bounded mailbox between the Source and Processing actor but it does not 
help because the ProcessingActor is not slowed by the network transport.

I looked at the code and it looks the problem arises because the 
EndpointWriter actor (that is kind of a proxy between the local actors and 
the transport as far as I understand) buffers the data to be sent in itself.

So here are my questions:

1. Is there a way to create a back-pressure between the network transport 
and the sender?

2. If there is no way and I have to create an application level 
flow-control over the network (between the Processing and Collecting 
actors) what will be the best way to slow down the SourceActor? Should I 
extend the flow control down to it? Or is there a way to slow down the 
reception of messages coming from the SourceActor so that the bounded 
mailbox will slow it down (I will still need the other messages to be 
delivered for flow-control signalization)?

Thanks in advance for any advises and suggestions,
luben



-- 
>>>>>>>>>>      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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to