[
https://issues.apache.org/jira/browse/CAMEL-26909?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Work on CAMEL-26909 started by shashank.
----------------------------------------
> camel-core - an Error of the supplier of a BackgroundTask leaves run()
> waiting forever
> --------------------------------------------------------------------------------------
>
> Key: CAMEL-26909
> URL: https://issues.apache.org/jira/browse/CAMEL-26909
> Project: Camel
> Issue Type: Bug
> Components: camel-core
> Reporter: shashank
> Assignee: shashank
> Priority: Minor
>
> Follow-up of CAMEL-26741 and CAMEL-24286. {{BackgroundTask}} runs its
> supplier from a task scheduled with {{scheduleWithFixedDelay}}. Since
> CAMEL-24286 an exception of the supplier marks the task as failed,
> unregisters it and releases the caller of {{run()}} before it is thrown on.
> An {{Error}} that is not a {{VirtualMachineError}} (such as a
> {{NoClassDefFoundError}} of the client library a task connects with) is not
> caught there: it ends the schedule, and a {{run()}} with an unlimited
> duration waits forever (with a time budget, until the budget runs out), with
> the task left in the {{TaskManagerRegistry}} and its status {{Active}}.
> Tasks that a caller waits on with {{run()}} and an unlimited duration, with a
> supplier that catches only {{Exception}}, include the connect of
> camel-ftp/sftp, the reconnect of camel-kafka, camel-kafka-share,
> camel-pgevent and of the camel-smpp consumer and producer (which hold their
> reconnect lock while they wait), and the polling of camel-mongodb-gridfs. A
> task started with {{schedule()}} (camel-master, the connection recovery of
> camel-sjms) has no caller waiting: there the {{Error}} ends the schedule
> silently and leaves the task {{Active}} in the registry. Nothing logs the
> {{Error}}.
> Expected: such an {{Error}} is handled as an exception: the task fails with
> it as its cause (logged at WARN), {{run()}} returns false, and the task is
> unregistered; a {{VirtualMachineError}} is left as before.
> Found while going through the follow-ups of CAMEL-26741; confirmed with a
> test on the real class.
> _Filed with Claude Code on behalf of allthingssecurity._
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)