[
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: [email protected]
For additional commands, e-mail: [email protected]