[ 
https://issues.apache.org/jira/browse/ARTEMIS-3083?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17272290#comment-17272290
 ] 

Gary Tully commented on ARTEMIS-3083:
-------------------------------------

I think the bias here is on the cluster connection producing messages. When it 
is not paging, the messages are already in memory, shovel them across the 
network as fast as possible.

when the producing broker is paging, then keep memory usage to the number of 
pages in memory, set the producer-window-size default to the N*page-size such 
that the memory usage is bound.
maybe page-max-cache-size is the default value to use.

> Set a default producer-window-size on cluster connection
> --------------------------------------------------------
>
>                 Key: ARTEMIS-3083
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-3083
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>          Components: Broker
>            Reporter: Francesco Nigro
>            Assignee: Francesco Nigro
>            Priority: Major
>
> The current producer-window-size configuration for cluster connection is -1 
> ie unbounded: it means that in case of an intermittent slow network or scarce 
> CPU resource on the receiving cluster node (due to GC activity, OOM or other 
> reasons) both brokers risk to go OOM:
>  * the sender one because of the resend cache on the channel of the cluster 
> connection: having unbounded granted credits means that it could grow 
> unbounded while containing the clustered packets awaiting to get response
>  * the receiver one because of the Actor abstraction on the cluster 
> connection: because the sender would try to send as much packets it can, 
> regardless the ability of the receiver to consume them



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to