Github user mtaylor commented on a diff in the pull request:
https://github.com/apache/activemq-artemis/pull/749#discussion_r77493191
--- Diff:
artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ServerSessionImpl.java
---
@@ -1249,6 +1256,14 @@ public RoutingStatus send(final ServerMessage
message, final boolean direct) thr
@Override
public RoutingStatus send(final ServerMessage message, final boolean
direct, boolean noAutoCreateQueue) throws Exception {
+
+ // If the protocol doesn't support flow control, we have no choice
other than fail the communication
+ if (!this.getRemotingConnection().isSupportsFlowControl() &&
pagingManager.isDiskFull()) {
+ ActiveMQIOErrorException exception =
ActiveMQMessageBundle.BUNDLE.diskBeyondLimit();
+ this.getRemotingConnection().fail(exception);
+ throw exception;
--- End diff --
I'm not sure if killing the connection is the right thing to do here? You
may also be killing consumers on the connection... Can't we just start
dropping messages once this threshold is reached?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---