[ 
https://issues.apache.org/jira/browse/ARTEMIS-4588?focusedWorklogId=904179&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-904179
 ]

ASF GitHub Bot logged work on ARTEMIS-4588:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 07/Feb/24 21:14
            Start Date: 07/Feb/24 21:14
    Worklog Time Spent: 10m 
      Work Description: jbertram opened a new pull request, #4815:
URL: https://github.com/apache/activemq-artemis/pull/4815

   Large message support was added to
   o.a.a.a.c.s.f.FederatedQueueConsumerImpl#onMessage via cf85d35 for 
ARTEMIS-3308. The problem with that change is that when onMessage returns 
o.a.a.a.c.c.i.ClientConsumerImpl#callOnMessage will eventually call 
o.a.a.a.c.c.i.ClientLargeMessageImpl#discardBody which eventually ends up in 
o.a.a.a.c.c.i.LargeMessageControllerImpl#popPacket waiting 30 seconds (i.e. the 
default readTimeout) for more packets to arrive (which never do). This happens 
because the FederatedQueueConsumer short-cuts the "normal" process by using 
LargeMessageControllerImpl#take.
   
   This commit fixes that by tracking the number of bytes "taken" and then 
looking at that value later when discarding the body effectively skipping the 
30 second wait.




Issue Time Tracking
-------------------

            Worklog Id:     (was: 904179)
    Remaining Estimate: 0h
            Time Spent: 10m

> Queue Federation and large messages move slowdown
> -------------------------------------------------
>
>                 Key: ARTEMIS-4588
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-4588
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Broker, Federation
>    Affects Versions: 2.30.0
>            Reporter: Jean-Pascal Briquet
>            Priority: Major
>         Attachments: federation-large-message-testcase.java
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> *Artemis configuration:* 
> Artemis configured with a dual queue federation link on Artemis and 
> requirement to support via this federation link standard messages and large 
> messages (between 100kb and 500kb).
>  
> *What is happening:*
> When a consumer is created, one or two large messages are consumed instantly 
> thanks to the federation but next messages are received very slowly and 
> arrive one by one after a delay of 30s.
> The queue federation works well with standard messages and does not have any 
> pause between message consumption.
> The delay between each message consumed looks to be coming from the 
> call-timeout property set on the federation upstream, when changing its 
> value, it changes the pause/delay between large messages consumption.
>  
> *Reproduction*
> A test case is attached and can be run by adding it into 
> "tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/federation/FederatedQueueTest.java"
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to