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

Robbie Gemmell commented on PROTON-853:
---------------------------------------

The changes in this JIRA allow for rcv = session.reciever("foo") -> rcv.open() 
-> rcv.close()  ->  rcv = session.reciever("foo")  ->  rcv.open to work without 
having called free() on the link after it is closed. Upon inspection I dont 
believe it allows the same to occur for 'detach' rather than 'close', and the 
behaviour of that will return to what it was in 0.8 and prior, where free() 
must be called after the detach to ensure subsequent use of the link name 
works. As the behaviour in 0.9 was broken anyway (hence this JIRA) we think 
that is acceptable. This change will be incorporated into a '0.9.1' release 
with other critical bug fixes, with any more work around detach generally being 
better suited to a future larger release.

> [proton-j] the transport emitted a new link attach for a link in the process 
> of being detached
> ----------------------------------------------------------------------------------------------
>
>                 Key: PROTON-853
>                 URL: https://issues.apache.org/jira/browse/PROTON-853
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: proton-j
>    Affects Versions: 0.9
>            Reporter: Robbie Gemmell
>            Assignee: Robbie Gemmell
>             Fix For: 0.10
>
>
> When upgrading to use 0.9 for the JMS client, we see some NPEs on the client 
> as it tries processing the events being emitted by the connection. This was 
> due to multiple link attach and detach frames arriving in the for the same 
> consumer link.
> What appears to be happening is that while closing the consumer, after the 
> client emits its detach frame proton then emits a new attach frame for the 
> link, before the server responds to the original detach, even though the 
> client made no attempt to recreate the consumer. It looks like the clients 
> handling of a flow frame which arrived after it emitted the original detach 
> meant that the link was modified, and the transport reacted by sending out a 
> new attach. This appears to be due to a change made in 0.9 for PROTON-154.



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

Reply via email to