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

Robbie Gemmell updated QPID-4489:
---------------------------------

    Description: 
If the IoReceiver exits (due to the TCP connection closing) before a protocol 
version initiation is received (successfully or otherwise), the IoSender will 
fail to be closed.

In this case the IoReceiver signals closed() to the receiver it was created 
with, a MultiVersionProtocolEngine with an initial SelfDelegateProtocolEngine 
delegate, but this delegate fails to close the IoSender. The IoSender is 
currently only closed when a received version initiation fails and the broker 
replies with a valid protocol version (for negotiation purposes) before closing 
the network connection, or if the closed() signal occurs after a protocol 
version initiation succeeds and the MVPE delegate is replaced with the relevant 
versions delegate.

The SelfDelegateProtocolEngine should be updated to close the associated 
network connection (and thus the IoSender) if its closed() method is called.

  was:
If the IoReceiver exits (due to the TCP connection closing) before a protocol 
version initiation is received (successfully or otherwise), the IoSender will 
fail to be closed.

In this case the IoReceiver signals closed() to the receiver it was created 
with, a MultiVersionProtocolEngine with an initial SelfDelegateProtocolEngine 
delegate, but this delegate fails to close the IoSender. The IoSender is 
currently only closed when a received version initiation fails and the broker 
replies with a valid protocol version (for negotiation purposes) before closing 
the network connection, or if the closed() signal occurs after a protocol 
version initiation succeeds and the MVPE delegate is replaced with the relevant 
versions delegate.

The SelfDelegateProtocolEngine should be updated to close the associated 
network connection if its closed() method is called.

    
> [Java broker] ensure the IoSender is stopped when a connection closes before 
> recieving a protocol initiation
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-4489
>                 URL: https://issues.apache.org/jira/browse/QPID-4489
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.20
>            Reporter: Robbie Gemmell
>            Assignee: Robbie Gemmell
>             Fix For: 0.21
>
>
> If the IoReceiver exits (due to the TCP connection closing) before a protocol 
> version initiation is received (successfully or otherwise), the IoSender will 
> fail to be closed.
> In this case the IoReceiver signals closed() to the receiver it was created 
> with, a MultiVersionProtocolEngine with an initial SelfDelegateProtocolEngine 
> delegate, but this delegate fails to close the IoSender. The IoSender is 
> currently only closed when a received version initiation fails and the broker 
> replies with a valid protocol version (for negotiation purposes) before 
> closing the network connection, or if the closed() signal occurs after a 
> protocol version initiation succeeds and the MVPE delegate is replaced with 
> the relevant versions delegate.
> The SelfDelegateProtocolEngine should be updated to close the associated 
> network connection (and thus the IoSender) if its closed() method is called.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to