[ 
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

Reply via email to