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.