cshannon opened a new pull request, #1423:
URL: https://github.com/apache/activemq/pull/1423

   This commit fixes multiple problems with handling message expiration on 
durable topic subscriptions.
   
   1) Memory usage tracking is fixed on expiration by correctly decrementing 
the counter inside AbstractStoreCursor when calling the remove(message) method, 
which was previously missed. 2) A new refrence type is used to wrap references 
in TopicStorePrefetch so that if multiple subscriptions share a reference in 
their cursors each one can expire the message. Previously only one would expire 
as the message would be marked as expired and skipped.
   3) On client expiration, the references are properly decremented so memory 
tracking is correct.
   4) The expiration thread for Topics has been improved to be much more 
efficient for KahaDB by only scanning for expired messages if there are 
durables eligible for expiration. The thread also now checks the index to see 
if expired messages are associated with the subs still so we don't expire the 
same sub multiple times. Only messages that need to still be processed are 
returned which further cuts down memory usage.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: gitbox-unsubscr...@activemq.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscr...@activemq.apache.org
For additional commands, e-mail: gitbox-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact


Reply via email to