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

Rob Davies reassigned AMQ-1805:
-------------------------------

    Assignee: Rob Davies

> 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
>            Assignee: Rob Davies
>             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.

Reply via email to