[
https://issues.apache.org/jira/browse/AMQ-7010?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16559577#comment-16559577
]
Christopher L. Shannon commented on AMQ-7010:
---------------------------------------------
In my opinion I think it's better if the broker stops itself following a no
space exception. That is not a normal condition so I think the broker should
stop to prevent data corruption. [~gtully] since you worked on the Jira
referenced here, what do you think?
To avoid this issue you can configure your broker to limit the amount of disk
space it can use. There are configuration options to set a fixed disk space
size and also a percentage of the partition it can use. If you do this then
you won't ever run out of disk space and the broker won't shut down.
Also, if for some reason you have other processes writing to the data partition
you can also set the broker to periodically re-check available disk space so it
will adjust the settings:
[http://activemq.apache.org/periodically-checking-disk-limits.html|http://activemq.apache.org/periodically-checking-disk-limits.html.]
However, the best thing to do would be to assign KahaDB to its own partition
so that's not an issue
> 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)