When I made the patch file for
CAMEL-5306 I made a mistake and coupled the cancelling of the visibility extending scheduled task with the thread that receives the message inside SqsConsumer. This causes issues when try to write Processors that delegate the completion of an exchange to another thread.
Actually the cancelling of the scheduled task should have been handled via exchange.addOnCompletion(), the same way the the overall SQS transaction is completed.
The attached patch fixes this issue.