[
https://issues.apache.org/jira/browse/ARTEMIS-3083?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Francesco Nigro updated ARTEMIS-3083:
-------------------------------------
Description:
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 (still present because of confirmation window size defaulted to 1
MB): unbounded granted credits means that it could grow unbounded while
containing the clustered packets awaiting to get response or confirmation from
the other node (that could be busy/overloaded and unable to answer anything
back)
* the receiver one due to the Actor abstraction on the cluster connection: the
sender would try to send as much packets it can, regardless the ability of the
receiver to consume them, that would accumulated on the actor mailbox (that's
unbounded) instead of the TCP buffer (that's bounded)
was:
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 (still present because of confirmation window size defaulted to 1
MB): unbounded granted credits means that it could grow unbounded while
containing the clustered packets awaiting to get response or confirmation from
the other node (that could be busy/overloaded and unable to answer anything
back)
* the receiver one due to the Actor abstraction on the cluster connection: the
sender would try to send as much packets it can, regardless the ability of the
receiver to consume them
> 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 (still present because of confirmation window size defaulted to 1
> MB): unbounded granted credits means that it could grow unbounded while
> containing the clustered packets awaiting to get response or confirmation
> from the other node (that could be busy/overloaded and unable to answer
> anything back)
> * the receiver one due to the Actor abstraction on the cluster connection:
> the sender would try to send as much packets it can, regardless the ability
> of the receiver to consume them, that would accumulated on the actor mailbox
> (that's unbounded) instead of the TCP buffer (that's bounded)
--
This message was sent by Atlassian Jira
(v8.20.1#820001)