[ https://issues.apache.org/jira/browse/ARTEMIS-921?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15823998#comment-15823998 ]
ASF GitHub Bot commented on ARTEMIS-921: ---------------------------------------- Github user clebertsuconic commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/960#discussion_r96234261 --- Diff: artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java --- @@ -3159,6 +3162,9 @@ public void run() { connection.killMessage(server.getNodeID()); remotingService.removeConnection(connection.getID()); connection.fail(ActiveMQMessageBundle.BUNDLE.connectionsClosedByManagement(connection.getRemoteAddress())); + //break once a consumer gets killed. This can prevent all + //consumers to this queue get killed all at once. + break; --- End diff -- this fix is not valid.... We need all the slow consumers to be killed. We need to calculate the rate properly then. threshold / number of consuemrs for instance. > Consumers killed as slow even if overall consuming rate is above threshold > -------------------------------------------------------------------------- > > Key: ARTEMIS-921 > URL: https://issues.apache.org/jira/browse/ARTEMIS-921 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: Broker > Affects Versions: 1.5.1 > Reporter: Howard Gao > Assignee: Howard Gao > Fix For: 1.5.next > > > We have one queue. Imagine messages are produced at 2 msgs/s. There are three > consumers and slow consumer limit is 1 msgs/s. What happens is that all three > consumers get killed as slow, even though it is impossible for any of them to > be fast, since messages are distributed equally between the consumers > (round-robin). > This has real consumer impact in a situation when producer rate is usually > high (so it requires multiple consumers working in parallel), but may > occasionally drop close to consumer-threshold. In this case, broker > disconnects all consumers who then have to reconnect and message processing > is delayed for the time of the reconnecting. -- This message was sent by Atlassian JIRA (v6.3.4#6332)