[ 
https://issues.apache.org/jira/browse/CAMEL-16287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17293857#comment-17293857
 ] 

Andrea Cosentino commented on CAMEL-16287:
------------------------------------------

We already have other issues related to pagination. The autocreate queue option 
is true by default, but for historical reasons. 

I don't think introducing pagination is a good idea, because it means calling 
multiple time the API for listQueue with next token. So it will slow down the 
startup.

My suggestion is to set the autocreateQueue to false.

We can also switch all the autocreation features of AWS2-* components to false 
by default [~davsclaus]

> camel-aws2-sqs should use pagination for deciding which aws sqs queues it 
> should create
> ---------------------------------------------------------------------------------------
>
>                 Key: CAMEL-16287
>                 URL: https://issues.apache.org/jira/browse/CAMEL-16287
>             Project: Camel
>          Issue Type: Bug
>    Affects Versions: 2.25.3, 3.8.0
>            Reporter: Gyorgy Abraham
>            Assignee: Andrea Cosentino
>            Priority: Major
>             Fix For: 3.7.3, 3.9.0
>
>
> There is an auto create queue feature for aws-sqs in camel-sqs component. 
> Upon camel context creation / route building, it issues an API call to list 
> all sqs queues, so it skips the creation for already existing ones. If camel 
> context has a for example consumer route for an sqs queue that is not listed 
> in the response of this API call, camel will try to to create it.
> However, this API only lists the first 1000 queues in the current account. If 
> there are more then 1000 queues, camel-sqs will try to create a new one, and 
> might fail. In our company's account, we have 1442 queues in our account and 
> Camel tried to create a .fifo queue because it thought it wasnt already 
> existing, resulting in application startup error.
> Relevant code: 
> [https://github.com/apache/camel/blob/master/components/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Endpoint.java#L174]
> Relevant API docs at AWS: 
> [https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/sqs/AmazonSQS.html#listQueues-com.amazonaws.services.sqs.model.ListQueuesRequest-]
> Solution is straightforward: use pagination and load all queues.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to