Hello, I have managed to replicate an issue that is occuring in our production environment with the setup noted below. We are using ActiveMQ Artemis version 2.15.
There are two brokers (broker1 and broker2). Each broker has only one queue called test. There is a bridge from broker1 test queue to broker2 test queue. <bridges> <bridge name="broker1-to-broker2-bridge"> <queue-name>test</queue-name> <static-connectors> <connector-ref>broker2-connector</connector-ref> </static-connectors> </bridge> </bridges> Using a java program (JMS API) we create 10 producers. Each producer puts 200 messages into the broker1 test queue (concurrently). The size of each message is 70 megabytes.What should happen is that all messages should move across the bridge and eventually end up in the broker2 test queue. What happens is approximately 1 message (in some cases more) will make it to the broker2 test queue, the other messages pile up in the broker1 test queue. The consumer count on the broker1 test queue is always 1 and the delivering count is 0. At this point nothing will ever get through the bridge - it is completely sunk. There are absolutely *no log messages* in broker1 or broker2 that would indicate something is wrong. Producers can however still send messages to the broker1 test queue. In our actual production environment, where all messages are not 70 megabytes, a restart of the broker will move messages across the bridge until the issue occurs again and we need to *manually restart the broker*. If I rerun the above test with debug on, the only thing that seems to stick out in the logs is that there are lots of SessionProducerCreditsMessages" with credits=0 which leads us to the test below. If we rerun the our test again with this configuration: <bridges> <bridge name="broker1-to-broker2-bridge"> <queue-name>test</queue-name> *<producer-window-size>209715200</producer-window-size>* <static-connectors> <connector-ref>broker2-connector</connector-ref> </static-connectors> </bridge> </bridges> The messages all flow from broker1 test queue to broker 2 test queue. The documentation says this about producer-window-size: - producer-window-size. This optional parameter determines the producer flow control through the bridge. You usually leave this off unless you are dealing with huge large messages *Questions* 1.) Could not configuring a producer-window-size on the bridge cause the issue noted above? It says that it is disabled by default. 2.) What is considered a really huge large message? 3.) Should there not be something in the logs to indicate that something fatal is going here? 4.) If you do need to configure the producer-window-size, how do you determine the size that it should be set to (especially if you get all sorts of message sizes)? 5.) Is there any reason why we wouldn't just set a very high producer-window-size on all of our bridges? The only time the bridge should not send messages is if the other side is down for some reason. The issue is with Artemis 2.15, but we can also reproduce this on 2.16. Thanks