You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "james strachan (JIRA)" <ji...@apache.org> on 2006/08/09 12:27:23 UTC

[jira] Resolved: (AMQ-871) Allow MessageEvictionStrategy to evict more than one MessageReference in evictMessage(LinkedList message) method

     [ https://issues.apache.org/activemq/browse/AMQ-871?page=all ]

james strachan resolved AMQ-871.
--------------------------------

    Fix Version/s: 4.1
       Resolution: Fixed
         Assignee: james strachan

Patch applied with thanks!

Incidentally for bad eviction strategies which do not return any messages to evict - I modified the patch to log a warning of the badly behaving eviction strategy - then we just don't evict anything. 

I guess its OK to now and again decide not to evict anything (so maybe we should only log a warning the first time or something) - though really if you set a high watermark of a number of messages per consumer we really should be evicting messages so I guess a warning is the best solution so far.

> Allow MessageEvictionStrategy to evict more than one MessageReference in evictMessage(LinkedList message) method
> ----------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-871
>                 URL: https://issues.apache.org/activemq/browse/AMQ-871
>             Project: ActiveMQ
>          Issue Type: Improvement
>          Components: Broker
>            Reporter: Mathew Kuppe
>         Assigned To: james strachan
>             Fix For: 4.1
>
>         Attachments: evictMultipleMessages-patch.txt
>
>
> For slow consumers every time a single message is added to a TopicSubscription where the pending message limit is reached, a new call to evictMessage is made. To allow for more flexible and efficient means of evicting messages it would be nice to be able to evict multiple messages in one call to evictMessage. This allows new MessageEvictionStrategy implementations to evict based on age of messages (eg. evict all messages in the pending message list that are older than x ms), duplicate messages (evict all messages that are redundant based on newer messages currently in the pending message list) etc. As a single call to the evictMessage method may have the opportunity to reduce the size of the pending message list by more than one it means that the next message added to the TopicSubscription may not need to have to call the evictMessage again.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira