[ https://issues.apache.org/jira/browse/QPID-7618?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alex Rudyy updated QPID-7618: ----------------------------- Attachment: overflow-policy.tar.gz Hi, I am looking into this JIRA now. I am going to address the remaining comments by Keith. I attached the bundle with 3 patches: * 0001-QPID-7618-Add-ring-policy.patch; it is original Tomas'es patch with minor changes required to apply it to current trunk * 0002-QPID-7618-Java-Broker-Improve-queue-ring-policy-impl.patch; my changes to the original work aiming to address the following: ** RoutingResult is changed to carry reasons for not accepting the message by all routable queues. As part of the change, I removed sending of exception on 0-10 path when message is not accepted by the queue (due to message size exceeding queue limit, etc.) I have not run python tests and they might fail for the change I have done, but, I think that it is a more correct behaviour. ** I reverted implementation of {{PriorityQueueList.PriorityQueueMasterList#getOldestEntry()}} as I think it effects reporting of oldest message. Instead, I introduced PriorityQueueList.PriorityQueueMasterList#getLowestPriorityOldestEntry() which is used to get/remove oldest messages from a priority queue. The change is a bit ugly and I might refactor it later. ** I reverted the changes in test VirtualHostMessageStoreTest as it tests integration of message store with virtual host and testing overflow policy should not be a concern of this test. The test needs to be simplified as it is testing too much. ** I renamed attributes {{maxCount}} and {{maxSize}} into {{maximumQueueDepthBytes}} and {{maximumQueueDepthMessages}} to have consistent attributes names. * 0003-QPID-7618-Introduce-overflow-policy-ProducerFlowCont.patch; converts an existing producer flow control functionality into OverflowPolicy. The work is not completed yet. I am going to move policy specific code into special policy handler classes. When It will be finished (hopefully today or tomorrow), I will commit the work to trunk. Tomas, Before committing, I would like to clarify whether it will be Ok to refer your name (and email if possible) in the patch you have supplied (I am going to commit it separately). Please let me know if that would violate any policy of company you are currently working for. As per "Apache way", the contributors while uploading the patch accept the donation of the copy right to ASF. I hope after submitting certain amount of patches you can apply to become Apache contributor. The decision to grant you rights would be mainly based on the number of submitted patches. You can consider signing [Individual Contributor License Agreement|https://www.apache.org/dev/new-committers-guide.html#cla] right now, as it would be required to do it anyway. > Ring policy type > ---------------- > > Key: QPID-7618 > URL: https://issues.apache.org/jira/browse/QPID-7618 > Project: Qpid > Issue Type: New Feature > Components: Java Broker > Affects Versions: qpid-java-6.1.1, qpid-java-7.0 > Reporter: Tomas Vavricka > Labels: policy-type, queue, ring > Fix For: qpid-java-7.0 > > Attachments: 0001-QPID-7569-Ring-policy-type.patch, > overflow-policy.tar.gz > > > It would be good if Java Broker will support ring policy. > Ring policy - delete oldest message(s) when queue capacity is reached > Queue capacity can be defined by maximum count of message and maximum size of > messages (including header). -- This message was sent by Atlassian JIRA (v6.3.15#6346) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org