[ 
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]

Reply via email to