Justin Bertram 77d9f10a3d ARTEMIS-4588 30 second pause for large msgs + federation
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.
2024-02-14 11:07:11 -06:00
2024-02-14 10:33:19 +00:00
2014-11-19 16:01:54 -05:00
2015-05-30 08:37:28 +02:00
2024-02-14 10:33:19 +00:00

Welcome to Apache ActiveMQ Artemis

ActiveMQ Artemis is the next generation message broker from Apache ActiveMQ.

Getting Started

See the User Manual for an in-depth explanation of all aspects of broker configuration and behavior.

The ActiveMQ Artemis Examples repository contains over 90 examples demonstrating many of the client and broker features.

How to Build, etc.

See the Hacking Guide for details about modifying the code, building the project, running tests, IDE integration, etc.

Migrate from ActiveMQ "Classic"

See the Migration Guide for information about the architectural and configuration differences between ActiveMQ "Classic" (i.e. 5.x) and ActiveMQ Artemis.

Report an Issue

See our website for details on how to report an bug, request a feature, etc.

Languages
Java 98.2%
JavaScript 0.8%
Groovy 0.5%
Shell 0.3%
CSS 0.1%