[ 
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)

Reply via email to