gtully commented on code in PR #4552:
URL: https://github.com/apache/activemq-artemis/pull/4552#discussion_r1262321833
##########
artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java:
##########
@@ -179,6 +179,14 @@ public class QueueImpl extends CriticalComponentImpl
implements Queue {
private volatile boolean queueDestroyed = false;
+ // Variable to control if we should print a flow controlled message or not.
+ // Once it was flow controlled, we will stop warning until it's cleared
once again
+ private volatile boolean pageFlowControlled = false;
+
+ private volatile long pageFlowControlledLastLog = 0;
+
+ private static final long PAGE_FLOW_CONTROL_PRINT_INTERVAL = 60_000L;
Review Comment:
I think this will need to be configurable.... possibly combining with what
we do for flow control of a producer, when an address is blocked, and a new
producer tries to send... it is analogous to a consumer on a blocked queue.
Both are reaching configured limits that we expect to be met in normal
operation, however for a new producer or consumer - the limits will influence
expected behaviour, they cannot send or consume... and may revert to the logs
to see why.
we could have flowControllLoggingPeriod - that can be tweaked to configure
the interval and disable. it could be applicable to both producers and
consumers.
Periodic will work, b/c there will be some correlation between new consumer
being added and the period. Is it true that will always attempt a dispatch on
adding a new consumer?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]