You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Robbie Gemmell (JIRA)" <ji...@apache.org> on 2012/12/03 23:37:58 UTC

[jira] [Updated] (QPID-4489) [Java broker] ensure the IoSender is stopped when a connection closes before recieving a protocol initiation

     [ 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: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org