[
https://issues.apache.org/jira/browse/AMQ-6979?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16495124#comment-16495124
]
Gary Tully commented on AMQ-6979:
---------------------------------
Linking in AMQ-5129 which has a patch for replacing the timerThread with the
schedule executor. It will still have a sizing issue b/c the core pool size is
fixed.
Ensuring that any long running tasks are triggered by the scheduler rather than
executed by it is the better solution.
> consumer message pull timeout being effected by long running scheduled tasks
> ----------------------------------------------------------------------------
>
> Key: AMQ-6979
> URL: https://issues.apache.org/jira/browse/AMQ-6979
> Project: ActiveMQ
> Issue Type: Bug
> Components: JMS client, Message Store
> Affects Versions: 5.15.0
> Reporter: Gary Tully
> Assignee: Gary Tully
> Priority: Major
> Fix For: 5.16.0
>
>
> The messagePull timeout, used for prefetch=0 consumers with
> consumer.receive(timeout) is not reliable in the event that the broker
> scheduler timer task is busy with long running tasks.
> If an existing task exceeds the timeout then the pull response is delayed.
> In the main, scheduled tasks should be short lived and in the case of message
> expiry processing for topic durable subs, they may not be, depending on the
> amount of durable subs and their backlog.
>
> The expiryProcessing scheduler task should simply signal the start of the
> task such that it can return and leave the real work to the taskExecutor
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)