Hello Everyone,

I am using a series of 6 Async Operators in my application. Each operator is 
using AsyncHttpClient to make some external API call. Each Async Operator makes 
only one call to external API for a message. Capacity is set t 1000 for each 
parallelism. Approximately, we are getting response in 1000ms with correction 
of 20ms. We see that, at parallelism of 8 for async, only 5-8 messages are 
inside single parallelism of an async operator. I am trying to figure out what 
decides how many messages will go inside the Async Operator.

Topology: Source - Process - Async(parallelism 8) - Async(parallelism 8) - 
Async(parallelism 8) - Async(parallelism 8) - Async(parallelism 8) - 
Async(parallelism 8) - process - sink.
Resources: 1vcore, 4GB ram, running on AWS Kinesis Analytics.

Metrics: CPU utilization 22%, Memory utilization: 50-58%.

It will be helpful if I can get some articles on how Flink decides on how many 
messages will enter into an Async Operator when the capacity is specified as 
1000 but available memory is only 4GB.

Thanks,
Sanket Agrawal

Reply via email to