[
https://issues.apache.org/jira/browse/CAMEL-12367?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen resolved CAMEL-12367.
---------------------------------
Resolution: Workaround
> camel-aws - aws-s3 - Thread leak in pollEnrich with dynamic uri
> ---------------------------------------------------------------
>
> Key: CAMEL-12367
> URL: https://issues.apache.org/jira/browse/CAMEL-12367
> Project: Camel
> Issue Type: Bug
> Components: camel-core
> Affects Versions: 2.19.2
> Reporter: Damien B
> Assignee: Andrea Cosentino
> Priority: Major
> Fix For: 2.22.0
>
>
> In a route we have this snippet:
> {code:java}
> <pollEnrich>
>
> <simple>aws-s3://{{AWS_BUCKET_NAME_DOWNLOAD}}?amazonS3Client=#amazonS3Client&deleteAfterRead=false&prefix=${body.key}</simple>
> </pollEnrich>{code}
> This is used to download one specific file from a bucket. Every time this is
> called, the endpoint URI changes because ${body.key} is constantly changing.
>
> In ScheduledPollConsumer we have this:
> {code:java}
> public long beforePoll(long timeout) throws Exception {
> if (!ServiceHelper.resumeService(this)) {
> ServiceHelper.startService(this);
> }
> return Math.max(timeout, getDelay());
> }
> public void afterPoll() throws Exception {
> if (!ServiceHelper.suspendService(this)) {
> ServiceHelper.stopService(this);
> }
> }
> {code}
>
> Since S3Consumer is a Suspendable, the thread created by
> ServiceHelper.startService is never going to be killed, and since it's never
> going to be reused because we'll never have twice the same endpoint URI,
> eventually the application dies because of the rogue threads.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)