Hey,
The app has an akka router that polls a redis queue.
Ten child routees of this router, in round robin fashion, make an async
crawl to an API using Apache HttpComponents AysncHttpClient.
On completion / failure of these requests, a callback to send a message to
the corresponding routees.
*Problems:*
*MESSAGE DROP FROM ROUTER TO ROUTEE*
1. Router polls about ~10 K messages from redis queue. Sends around ~4 K
requests to routees. Around ~6 K messages are lost. It just drops these
messages somehow. Routee code shows no log message for these ~6K messages.
Plus, there are no log of "dropping messages".
*Routee code *snippet looks like this :
public void onReceive(Object message) {
if (message instanceof APIRequest) {
log.info("message received "+message.getUniqueId); //(1)
final ActorRef sender = getSelf();
crawl(sender, message); //crawl messages the routee using
AsyncHttpClient
}
}
*Some observations:*
If routees do not make a async crawl and just sends itself a completion
message, then there is no drop of messages(1). All log info messages are
logged.
Please help me to figure out how to debug for the lost messages.
*Router Config :*
RoundRobinRoutingLogic
10 Routees
*Akka version* : 2.3.9
*org.apache.httpcomponents.httpasyncclient version: *4.0.2
*JDK*: 1.8.0 u31
--
>>>>>>>>>> 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 http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.