You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Alex Rudyy (JIRA)" <ji...@apache.org> on 2019/07/22 13:52:00 UTC

[jira] [Updated] (QPID-8345) [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 sender sends pre-settled messages without using transactions

     [ https://issues.apache.org/jira/browse/QPID-8345?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alex Rudyy updated QPID-8345:
-----------------------------
    Description: 
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}}



  was:
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 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}}




> [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 sender sends pre-settled messages without using transactions
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 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: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org