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

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

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

    https://github.com/apache/activemq-artemis/pull/749#discussion_r77524662
  
    --- 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 --
    
    there is no way to tell the producers on these protocols that the message 
failed. Keep coming would endup on a drop and the producer may thing it was 
sent ok. It would be a message loss without communicating the failure to the 
producer.
    
    >> Is it possible to configure it to go from PAGING to DROP once the disk 
limit is reached?
    
    you can already configure global-max-size to DROP. 
    
    
    I **strongly** advise against silently fail. (I have a strong opinion on 
this subject). I won't silently fail a message send on purpose here.


> Add setting to control global disk usage      
> -----------------------------------------
>
>                 Key: ARTEMIS-581
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-581
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>    Affects Versions: 1.3.0
>            Reporter: Lionel Cons
>            Assignee: clebert suconic
>            Priority: Blocker
>             Fix For: 1.5.0
>
>
> AFAIK, there is no way to prevent Artemis from using too much space on the 
> disk (with paged messages).
> Disk space, just like memory space, is limited and Artemis should detect when 
> it is about to use too much space and act accordingly (i.e. DROP, FAIL...).
> ActiveMQ 5.x does allow controlling disk usage via its {{storeUsage}} and 
> {{tempUsage}} settings in {{systemUsage}}.
> Could Artemis also use a global disk setting to limit its disk usage?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to