[ 
https://issues.apache.org/jira/browse/QPID-8345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16890235#comment-16890235
 ] 

Robbie Gemmell commented on QPID-8345:
--------------------------------------

I really don't see that possibility in what the spec says. The spec notes that 
default outcome field is specifically for ** unsettled transfers, thus ruling 
out the very situation discussed. My reading is that its for use when the 
unsettled delivery is being settled without a state becoming known from the 
receiver side, as noted including when the source itself is going away, e.g 
because the connection is severed or such like.

It makes no sense to me from reading it that it could be possible to apply a 
default outcome, "for transfers that have not reached a terminal state at the 
receiver", in a case where they never can reach a terminal state at the 
receiver, as everything was done before it the message was ever sent.

The examples usages given are released and rejected, which would be especially 
stupid for a pre-settled transfers, but using those examples is actually 
reasonable since its noted immiadately that the field applies only to unsettled 
transfers.

 

 

> [Broker-J][AMQP 1.0] Consumed messages are left in acquired state on a queue 
> when receiver’s desired snd-settle-mode is set to settled and transactions 
> are not used for message receiving
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-8345
>                 URL: https://issues.apache.org/jira/browse/QPID-8345
>             Project: Qpid
>          Issue Type: Bug
>          Components: Broker-J
>    Affects Versions: qpid-java-broker-7.0.0, qpid-java-broker-7.0.1, 
> qpid-java-broker-7.1.0, qpid-java-broker-7.0.4, qpid-java-broker-7.0.5, 
> qpid-java-broker-7.0.6, qpid-java-broker-7.0.7, qpid-java-broker-7.1.1, 
> qpid-java-broker-7.1.2, qpid-java-broker-7.0.8, qpid-java-broker-7.1.3, 
> qpid-java-broker-7.1.4
>            Reporter: Alex Rudyy
>            Priority: Major
>             Fix For: qpid-java-broker-7.1.5
>
>
> When receiving link desired {{snd-settle-mode}} is set to {{settled}}  and 
> transactions are not used for message receiving, the broker sending link 
> sends the messages pre-settled.
> However, the consumed messages are left in acquired state on the queue after 
> sending them to consumer. Such messages stack in {{acquired}} state until  
> broker is restarted. After the restart, the persistent message became 
> available for consumption again. 
> The broker currently does not apply {{default-outcome}} set on receiving link 
> (indicating the outcome to be used for transfers that have not reached a 
> terminal state at the
> receiver when the transfer is settled [see section 3.5.3 Source]).
> Based on value of {{default-outcome}} set on consumer link source, the broker 
> should apply the following:
> * {{accepted}} or {{null}}; remove message from the queue
> * {{rejected}}, {{released}}, {{modified}}; release message
> * any other outcome; close link with an error {{not-implemented}}
> * not valid outcome (for example, {{received}}); close link with an error 
> {{invalid-field}}



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to