expiry processing with file pending cursor and no consumers fills memory - 
causing producerFlowControll to kick in
------------------------------------------------------------------------------------------------------------------

                 Key: AMQ-2610
                 URL: https://issues.apache.org/activemq/browse/AMQ-2610
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker
    Affects Versions: 5.3.0
         Environment: all
            Reporter: Gary Tully
            Assignee: Gary Tully
             Fix For: 5.4.0


The Memory usage limits are shared for a filependingmessagecursor and a queue. 
To have the cursor limit kick in first the usage portion needs to be reduced to 
below 70% as in: policy.setCursorMemoryHighWaterMark(50); for the destination.
This causes message references to be flushed to disk when the memory 
utilization reaches 50% ensuring that the memory usage limit for the queue of 
70% is not met.

However, expiry processing with no consumers, needs to go directly to the 
cursor to examine messages (as none are paged in for dispatch) and this 
contract is problematic at the moment as there is no way to manage the message 
reference count via the cursor api for this use case. PageInList is promising 
but not complete.

-- 
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