You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2017/03/01 09:41:45 UTC
[jira] [Commented] (CAMEL-10587) Extending SQS message invisibility
timeout not working in some cases
[ https://issues.apache.org/jira/browse/CAMEL-10587?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15889856#comment-15889856 ]
Claus Ibsen commented on CAMEL-10587:
-------------------------------------
Can you turn on trace logging on: org.apache.camel.component.aws.sqs.SqsConsumer
As it should do a TRACE log when it extends the visibility, and then observe if it does that for all 10 messages.
I also change the code to start the scheduler before the consumer so the extender is always created in case of some startup race condition otherwise.
> Extending SQS message invisibility timeout not working in some cases
> --------------------------------------------------------------------
>
> Key: CAMEL-10587
> URL: https://issues.apache.org/jira/browse/CAMEL-10587
> Project: Camel
> Issue Type: Bug
> Components: camel-aws
> Affects Versions: 2.18.0
> Reporter: Sindre Mehus
>
> org.apache.camel.component.aws.sqs.SqsConsumer creates a TimeoutExtender task for each message received in a batch, but these tasks should be started *before* processing the messages.
> Error can be reproduced as follows:
> 1. Create an SQS-consuming route using maxMessagesPerPoll=10, extendMessageVisibility=true, visibilityTimeout=30, waitTimeSeconds=20.
> 2. Add a process step in the route which just sleeps for a long time.
> 3. Put 20-30 messages on the SQS queue.
> 4. Start the route.
> 5. Let's say the SQS consumer reads off 10 messages.
> 6. Observe in the AWS SQS console that 10 messages are in-flight.
> 7. After 30 seconds you can observe that only 1 message is in-flight. This is incorrect.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)