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

Robbie Gemmell updated QPID-2795:
---------------------------------

    Description: 
The broker is notified that no data has been recieved from the client after the 
appropriate heartbeating time delay, however at this point it is unable to 
disconnect the client. On trunk, the relevant method has no implementation and 
the notifiation is discarded. On the 0.5.x-dev branch it throws an IOException 
which is then caught by mina and provided to exception handling callback in the 
broker. This handler makes the assumption that the Mina session will be closed 
because it is an IOException since this is the behaviour Mina stipulates for 
the method, however it would seem that does not apply when the exception is 
raised from within the sessionIdle handler, as the sessionClosed handler is 
never called. 

As a result of the above the broker simply sits with Mina periodically firing 
the idle events and them effectively getting dropped. The idle handlers should 
be updated to explicitly close the mina session at this point and allow the 
broker to disconnect the client.

  was:The broker is notified that no data has been recieved from the client 
after the appropriate heartbeating time delay, however at this point it throws 
an IOException which is then caught by mina and provided to exception handling 
callback in the broker. This handler makes the assumption that the Mina session 
will be closed because it is an IOException since this is the behaviour Mina 
stipulates for the method, however it would seem that does not apply when the 
exception is raised from within the sessionIdle handler, as the sessionClosed 
handler is never called. As a result, the broker simply sits with Mina 
periodically firing the idle events and dropping the exceptions, leaving the 
connection open. The idle handler should be updated to explicitly close the 
mina session at this point and allow the broekr to disconnect the client.


> broker is unable to disconnect unresponsive 0-8/0-9 clients when attempting 
> to once heartbeating timeout is detected
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-2795
>                 URL: https://issues.apache.org/jira/browse/QPID-2795
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: M2.1, M3, M4, 0.5, 0.6
>            Reporter: Robbie Gemmell
>             Fix For: 0.7
>
>
> The broker is notified that no data has been recieved from the client after 
> the appropriate heartbeating time delay, however at this point it is unable 
> to disconnect the client. On trunk, the relevant method has no implementation 
> and the notifiation is discarded. On the 0.5.x-dev branch it throws an 
> IOException which is then caught by mina and provided to exception handling 
> callback in the broker. This handler makes the assumption that the Mina 
> session will be closed because it is an IOException since this is the 
> behaviour Mina stipulates for the method, however it would seem that does not 
> apply when the exception is raised from within the sessionIdle handler, as 
> the sessionClosed handler is never called. 
> As a result of the above the broker simply sits with Mina periodically firing 
> the idle events and them effectively getting dropped. The idle handlers 
> should be updated to explicitly close the mina session at this point and 
> allow the broker to disconnect the client.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to