Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
5.15.0
-
None
Description
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
Attachments
Issue Links
- is related to
-
AMQ-5129 Substitute TimeTask with ScheduledExecutorService in org.apache.activemq.thread.Scheduler
- Open