[ 
https://issues.apache.org/jira/browse/CAMEL-8221?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen updated CAMEL-8221:
-------------------------------
    Fix Version/s: Future

> No backpressure in aws-sqs Consumer
> -----------------------------------
>
>                 Key: CAMEL-8221
>                 URL: https://issues.apache.org/jira/browse/CAMEL-8221
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-aws
>    Affects Versions: 2.14.1
>            Reporter: Dan Brown
>             Fix For: Future
>
>
> We're using a camel Consumer with an aws-sqs endpoint and running into issues 
> with large queues and slow consumers. The consumer jvm downloads messages 
> very fast from sqs, onto the jvm heap, even though the camel receive method 
> processes each message very slowly (and Ack's when done, with autoAck = 
> false). The result of this is that the consumer jvm continually fills its 
> heap with an unbounded queue of incoming messages and eventually throws OOME.
> To avoid this failure, we're looking for a way to enable backpressure when 
> using aws-sqs—e.g. an on-heap bounded queue between the component fetching 
> from sqs and the user-defined actor processing the messages—but I don't see 
> anything relevant in the config:
> - http://camel.apache.org/aws-sqs.html
> Looking at the code, I see that SqsConsumer subtypes 
> ScheduledBatchPollingConsumer, which subtypes ScheduledPollConsumer. To get 
> backpressure, should it use something like EventDrivenPollingConsumer 
> somewhere, which uses a blocking queue to avoid the heap blowup above?
> - 
> https://github.com/apache/camel/blob/camel-2.14.1/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConsumer.java#L52-L57
> - 
> https://github.com/apache/camel/blob/camel-2.14.1/camel-core/src/main/java/org/apache/camel/impl/ScheduledBatchPollingConsumer.java#L31-L34
> - 
> https://github.com/apache/camel/blob/camel-2.14.1/camel-core/src/main/java/org/apache/camel/impl/ScheduledPollConsumer.java#L40-L43
> - 
> https://github.com/apache/camel/blob/camel-2.14.1/camel-core/src/main/java/org/apache/camel/impl/EventDrivenPollingConsumer.java#L35-L42



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to