You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Gary Tully (JIRA)" <ji...@apache.org> on 2018/07/27 12:35:00 UTC

[jira] [Resolved] (AMQ-7010) No space left on device leading to broker shutdown even if ignored

     [ https://issues.apache.org/jira/browse/AMQ-7010?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary Tully resolved AMQ-7010.
-----------------------------
    Resolution: Won't Fix

updated the documentation for the ignoreNoSpaceErrors attribute with: 

From 5.15.0 ignoreAllErrors needs to be used because the appender stops on the first error leading to secondary exceptions from concurrent operations.

 

> No space left on device leading to broker shutdown even if ignored
> ------------------------------------------------------------------
>
>                 Key: AMQ-7010
>                 URL: https://issues.apache.org/jira/browse/AMQ-7010
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: KahaDB
>    Affects Versions: 5.15.0, 5.15.1, 5.15.2, 5.15.3
>            Reporter: Laurent Chiarello
>            Priority: Major
>         Attachments: activemq_logs.txt
>
>
> Recently, we upgraded our ActiveMQ instance from {{5.13.2}} to {{5.15.3}}. We basically use an almost default broker setup with KahaDB. Due to our setup, we occasionally run into {{java.io.IOException: No space left on device}}, which until now was fine since the broker would properly ignore them using the {{DefaultIOExceptionHandler}}, and resume its work once space is available again.
> After upgrading to {{5.15.3}}, however, we noticed that the broker would actually stop itself following a _no space left_ exception. Digging a little bit, it seems that the change in behavior can be linked to a fix introduced in the {{5.15.0}} release, see AMQ-6625. With this fix, KahaDB would sometimes throw the following exception: {{java.io.IOException: Async Writer Thread Shutdown}} from its {{DataFileAppender}}, which, unfortunately, is not handled by the {{DefaultIOExceptionHandler}} unless {{ignoreAllErrors}} is set to true.
> This would basically mean that the {{DefaultIOExceptionHandler}} has become useless in catching only _no space left_ exceptions, which I do not think is the intended behavior. 
> h3. How to reproduce
>  # Start a broker with default config on a small partition
>  # Send a persistent message with web console to any queue
>  # Fill the partition by any mean
>  # Send more messages with web console, broker is eventually shut down
> See the attached broker logs.



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