[ 
https://issues.apache.org/jira/browse/ARTEMIS-4453?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andy Gustafson updated ARTEMIS-4453:
------------------------------------
    Description: 
I found what I believe to be a bug related to flow control with symmetric 
clusters. I wrote [this 
example|https://github.com/acgustafson/artemis-flowcontrol-issue] to reproduce  
the behavior I am seeing. The test program does the following:
 * Create 2 clustered embedded brokers
 * Create 3000 topics with 1 producer per topic sending 1 message every 30 
seconds
 * Create 12 consumers on a wildcard that matches all 3000 topics.
 * Create 1 additional "statistics" wildcard consumer to log how many messages 
it has consumed over the previous 30 seconds

Shortly after running this program the "statistics consumer" shows it's only 
consuming 1500 messages per 30 seconds. The broker's logs show the 
$artemis.internal.sf queues are being blocked on flow control. From what I can 
tell the broker never seems to recover from this, even after killing all of the 
producers/consumers and restarting with a much lower number of 
producers/consumers. 

This behaviour started appearing for me in 2.22.0 after 
https://issues.apache.org/jira/browse/ARTEMIS-3805 changed the default 
producer-window-size to 1MB from -1.
 
I can reproduce the issue using the latest snapshot. If you set the 
producer-window-size back to -1 the issue no longer appears. 
 
Program to reproduce: [https://github.com/acgustafson/artemis-flowcontrol-issue]

 

Discussion of this issue in slack at 
https://the-asf.slack.com/archives/CFL910J30/p1696356372797149?thread_ts=1694705189.957139&cid=CFL910J30

  was:
I found what I believe to be a bug related to flow control with symmetric 
clusters. I wrote [this 
example|https://github.com/acgustafson/artemis-flowcontrol-issue] to reproduce  
the behavior I am seeing. The test program does the following:
 * Create 2 clustered embedded brokers
 * Create 3000 topics with 1 producer per topic sending 1 message every 30 
seconds
 * Create 12 consumers on a wildcard that matches all 3000 topics.
 * Create 1 additional "statistics" wildcard consumer to log how many messages 
it has consumed over the previous 30 seconds



Shortly after running this program the "statistics consumer" shows it's only 
consuming 1500 messages per 30 seconds. The broker's logs show the 
$artemis.internal.sf queues are being blocked on flow control. From what I can 
tell the broker never seems to recover from this, even after killing all of the 
producers/consumers and restarting with a much lower number of 
producers/consumers. 

This behaviour started appearing for me in 2.22.0 after 
https://issues.apache.org/jira/browse/ARTEMIS-3805 changed the default 
producer-window-size to 1MB from -1.
 
I can reproduce the issue using the latest snapshot. If you set the 
producer-window-size back to -1 the issue no longer appears. 
 
Program to reproduce: https://github.com/acgustafson/artemis-flowcontrol-issue


> Bridge blocked by flow control, seemingly forever
> -------------------------------------------------
>
>                 Key: ARTEMIS-4453
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-4453
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Broker, Clustering
>            Reporter: Andy Gustafson
>            Priority: Major
>
> I found what I believe to be a bug related to flow control with symmetric 
> clusters. I wrote [this 
> example|https://github.com/acgustafson/artemis-flowcontrol-issue] to 
> reproduce  the behavior I am seeing. The test program does the following:
>  * Create 2 clustered embedded brokers
>  * Create 3000 topics with 1 producer per topic sending 1 message every 30 
> seconds
>  * Create 12 consumers on a wildcard that matches all 3000 topics.
>  * Create 1 additional "statistics" wildcard consumer to log how many 
> messages it has consumed over the previous 30 seconds
> Shortly after running this program the "statistics consumer" shows it's only 
> consuming 1500 messages per 30 seconds. The broker's logs show the 
> $artemis.internal.sf queues are being blocked on flow control. From what I 
> can tell the broker never seems to recover from this, even after killing all 
> of the producers/consumers and restarting with a much lower number of 
> producers/consumers. 
> This behaviour started appearing for me in 2.22.0 after 
> https://issues.apache.org/jira/browse/ARTEMIS-3805 changed the default 
> producer-window-size to 1MB from -1.
>  
> I can reproduce the issue using the latest snapshot. If you set the 
> producer-window-size back to -1 the issue no longer appears. 
>  
> Program to reproduce: 
> [https://github.com/acgustafson/artemis-flowcontrol-issue]
>  
> Discussion of this issue in slack at 
> https://the-asf.slack.com/archives/CFL910J30/p1696356372797149?thread_ts=1694705189.957139&cid=CFL910J30



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

Reply via email to