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

Gordon Sim commented on PROTON-812:
-----------------------------------

When a peer detaches a link, it can supply a condition that is a string code 
that provides some context or reason for the detach. The correct behaviour on 
receiving an attach is always to echo an attach back, but then to follow that 
immediately with a detach. 

So, in general, in order to distinguish between two cases of the peer detaching 
a link there would need to be distinct conditions associated with the two 
cases. This change allows you to determine the condition.

There is one special case, where the node the link is to be attached to doesn't 
exist and is not going to be created, the appropriate response is to send back 
an attach with no source or target (depending on direction of link) at all. 
That is in effect a precursor to an immediate detach with not-found as the 
condition.

I don't know how dispatch router will handle case 2 above. For case 1, against 
qpidd, you will get a LinkException on create_receiver or create_sender, due to 
the source.target respectively being null on the attach sent back by the broker.

> LinkException needs an attribute that indicates the reason for the exception.
> -----------------------------------------------------------------------------
>
>                 Key: PROTON-812
>                 URL: https://issues.apache.org/jira/browse/PROTON-812
>             Project: Qpid Proton
>          Issue Type: Improvement
>    Affects Versions: 0.8
>            Reporter: Jeff Ortel
>            Assignee: Gordon Sim
>             Fix For: 0.9
>
>
> LinkException needs an attribute that indicates the reason for the exception 
> so that the exception can be appropriately delt with.  For example: A link 
> exception caused when a node does not exist would be delt with differently 
> than a link exception caused by an issue in the link chain involving dispatch 
> router.  Having constants for the error codes would be desireable.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to