[
https://issues.apache.org/activemq/browse/AMQ-1805?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rob Davies resolved AMQ-1805.
-----------------------------
Fix Version/s: 5.2.0
Resolution: Fixed
Fixed by SVN revision 669519
> Persistent message leak when broker run out of disk space
> ---------------------------------------------------------
>
> Key: AMQ-1805
> URL: https://issues.apache.org/activemq/browse/AMQ-1805
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker
> Affects Versions: 5.1.0
> Environment: ActiveMQ 5.1 (AMQStore w/o SystemUsage configuration)
> Windows XP SP2
> ActiveMQ CPP 2.1.3
> Reporter: Bruce Lee
> Fix For: 5.2.0
>
> Attachments: amq-1805.diff
>
>
> In our environment, we have several ActvieMQ CPP clients sending persistent
> messages continuously to a ActiveMQ 5.1 broker. In normal condition the
> broker works fine until it ran out of disk space. At that point the client
> would receive out of disk space advisory message AFTER sending the message,
> therefore the message should be removed from broker, however, the message are
> kept in the memory due to a problem in the DataFileAppender &
> AsyncDatamanager, when the disk is full, the message is saved in the
> inflightWrites map but never taken out since the enqueue will fail due to
> IOException.
> synchronized (this) {
> // Find the position where this item will land at.
> DataFile dataFile = dataManager.allocateLocation(location);
> if( !sync ) {
> inflightWrites.put(new WriteKey(location), write);
> }
> batch = enqueue(dataFile, write);
> }
> and
> synchronized (this) {
> // Find the position where this item will land at.
> DataFile dataFile = dataManager.allocateLocation(location);
> inflightWrites.put(new WriteKey(location), write);
> batch = enqueue(dataFile, write);
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.