[
https://issues.apache.org/jira/browse/QPID-7540?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15701610#comment-15701610
]
Rob Godfrey commented on QPID-7540:
-----------------------------------
So there are really two questions here:
# Is it correct to model the durable subscription as a durable consumer
# Should a consumer really have a session as a parent
In AMQP 1.0 durable consumers are really "links". A link is associated with a
remote container identity (rather than a session), and it's name is unique
(from the broker's point of view) to that and its "direction" (i.e. whether it
is a durable producer or a durable consumer). Link state includes the
"unsettled" map - which is a rapidly changing data structure of the state of
messages being delivered along the link to the consumer. I don't think this
data is well suited to persistence in the config store - we would probably want
to store this in the message store if anywhere.
There is certainly a case to be made that Consumers should not have a session
for a parent, that instead the consumer represents the model view only, and
that the transport view is represented by the consumer target (the link
endpoint in AMQP 1.0 speak) which can be a child of the session. The target
and consumer have an associative rather than hierarchical relationship.
Potentially a durable consumer should be storing the information on the durable
link with which it is associated. The Link state would be being updated
through the message store. A Durable consumer may have no target associated
with it at a given time and the lack of target would not spell death for the
consumer (even non-durable, for the AMQP 1.0 detach/re-attach case).
> [Java Broker] The broker cannot recover durable Consumers (AMQP 1.0) which
> leaves it in an ERRORed state
> --------------------------------------------------------------------------------------------------------
>
> Key: QPID-7540
> URL: https://issues.apache.org/jira/browse/QPID-7540
> Project: Qpid
> Issue Type: Bug
> Components: Java Broker
> Reporter: Lorenz Quack
>
> When creating a durable Consumer with AMQP 1.0 it will be persisted in the
> broker configuration.
> However, upon recovery the Session is not available to the Consumer cannot be
> created leading to an error.
> It is unclear how we should handle durable Consumers but leaving the broker
> in an unrecoverable state is clearly undesirable.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]