[
https://issues.apache.org/jira/browse/QPID-7815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16057701#comment-16057701
]
Lorenz Quack commented on QPID-7815:
------------------------------------
Thinking about this in conjunction with transactions brought out a non-trivial
problem.
In the current implementation the sequence of events when committing a
transaction that published a message is as follows:
# The client commits the transaction
# The broker checks whether the transaction has failed in this case let us
assume it has not
# The broker commits the transaction to the store. This means if the broker
would die at this instance (e.g. power cut) the message would be recovered.
# The broker then tries to enqueue the message onto the queue.
# This triggers the OverflowPolicy
# If the policy rejects the message the broker is in a difficult position. If
it aborts the client transaction (e.g. throw exception, close connections, ...)
it somehow has to deal with the fact that the message is already committed to
the store. If it does not abort the transaction it basically lost a message.
I currently do not have an easy solution to this.
> Reject policy type
> ------------------
>
> Key: QPID-7815
> URL: https://issues.apache.org/jira/browse/QPID-7815
> Project: Qpid
> Issue Type: New Feature
> Components: Java Broker
> Affects Versions: qpid-java-broker-7.0.0
> Reporter: Tomas Vavricka
> Assignee: Lorenz Quack
> Labels: policy-type, queue, reject
> Fix For: qpid-java-broker-7.0.0
>
> Attachments:
> 0001-QPID-7815-Java-Broker-Enable-QueuePolicyTests-on-all.patch,
> 0001-QPID-7815-Reject-policy-type.patch
>
>
> It would be good if Java Broker will support reject policy.
> Reject policy - reject incoming 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.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]