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.
