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]

Reply via email to