[ 
https://issues.apache.org/jira/browse/ARTEMIS-1710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16667728#comment-16667728
 ] 

ASF GitHub Bot commented on ARTEMIS-1710:
-----------------------------------------

Github user michaelandrepearce commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/2401#discussion_r229089174
  
    --- Diff: 
artemis-server/src/main/java/org/apache/activemq/artemis/core/paging/impl/PagingManagerImpl.java
 ---
    @@ -437,12 +449,27 @@ public void processReload() throws Exception {
           }
        }
     
    +   private boolean ignoreGlobalMaxSize(SimpleString address) {
    +      if (this.addressPrefixesIgnoringGlobalMaxSize == null) {
    +         return false;
    +      } else {
    +         //for a small number of prefixes to check we can use just a 
linear search too :)
    +         for (SimpleString prefixes : 
this.addressPrefixesIgnoringGlobalMaxSize) {
    --- End diff --
    
    why even code this to be more than one, concern here would be what else? 
could end up in non-managed space? Its a dangerous thing to have anything 
unbounded entirely. See my comment about possible alternative and safer 
approach with implementing a two tier global max sizing, one global  (all 
addresses) and one non-management max which would be set lower to allow head 
room for the management ones no matter what (all addresses except management)


> Allow for management messages to pass the global-max-size limit
> ---------------------------------------------------------------
>
>                 Key: ARTEMIS-1710
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1710
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>            Reporter: Ulf Lilleengen
>            Assignee: Francesco Nigro
>            Priority: Major
>
> Use case: global-max-size is set to some limit to prevent the broker from 
> falling over. The broker is configured with N queues which are all blocked by 
> this limit.
> If this limit is reached, however, it is not possible to perform management 
> operations on the broker, so you're stuck.
>  
> It should be possible to have an address like 'activemq.management' bypass 
> this limit so that a broker can be recovered when the global-max-size is 
> reached.
>  
> To work around the problem, an external component needs to ensure that all 
> addresses created have a max-size-bytes set so that worst case, there is some 
> room left for 'activemq.management' address. In this case the broker 
> configuration needs to be known by the component creating addresses which is 
> impractical and it feels like this problem would be easier to solve inside 
> the broker.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to