[
https://issues.apache.org/jira/browse/QPID-7678?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Keith Wall resolved QPID-7678.
------------------------------
Resolution: Not A Bug
> [Java Broker, AMQP 1.0] Message enqueuing into multiple queues can fail when
> ServerMessage#isResourceAcceptable returns false for any routable queue
> ----------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: QPID-7678
> URL: https://issues.apache.org/jira/browse/QPID-7678
> Project: Qpid
> Issue Type: Bug
> Components: Java Broker
> Affects Versions: qpid-java-7.0
> Reporter: Alex Rudyy
> Priority: Minor
> Fix For: qpid-java-7.0
>
> Attachments:
> 0001-QPID-7678-QPID-6028-Fix-RoutingResult-send-to-allow-.patch
>
>
> The existing implementation of RoutingResult#send does enqueue the message if
> any of the routable queues does not accept the message. For example, that
> might happen when message is sent with delivery delay and attribute
> Queue#holdOnPublishEnabled is changed from true to false between invocations
> of RoutingResult#route and RoutingResult#send.
> The problematic code is below:
> {code}
> public int send(ServerTransaction txn,
> final Action<? super MessageInstance> postEnqueueAction)
> {
> for(BaseQueue q : _queues)
> {
> if(!_message.isResourceAcceptable(q))
> {
> return 0;
> }
> }
> ...
> }
> {code}
> It seems that message should be attempted to enqueue to other queues (if
> there are other routable queues). The not acceptable queue should be simply
> removed from the list of routable queues
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]