[ 
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&amp;deleteAfterRead=false&amp;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)

Reply via email to