[jboss-remoting-issues] [JBoss JIRA] Commented: (JBREM-947) ConnectionValidator hangs when server dies

mingjun jiang (JIRA) jira-events at lists.jboss.org
Thu Nov 19 04:09:41 EST 2009


    [ https://jira.jboss.org/jira/browse/JBREM-947?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12495490#action_12495490 ] 

mingjun jiang commented on JBREM-947:
-------------------------------------

Accoring to this JIRA, It seems that this bug was fixed in 2.4.0 . However, in https://jira.jboss.org/jira/browse/JBREM-949, it is said that this bug was fixed in Remoting 2.2.2 SP8. I am quite confused. Now, we encountered the similar problem when we are using 2.2.3 SP1. 

The bisocket connection won't be closed if pulling out the ethernet cable between client and server. It seems that the failure detection program won't close the failure connection, as a result, the subsequent requests will hang after connection account exceeds the threshold (MaxPoolSize). 

I had opened a JIRA issue to report this problem: https://jira.jboss.org/jira/browse/JBREM-1169, please refer to this JIRA link for more details 

I am adding such comments to seek your expertise, thanks 

> ConnectionValidator hangs when server dies
> ------------------------------------------
>
>                 Key: JBREM-947
>                 URL: https://jira.jboss.org/jira/browse/JBREM-947
>             Project: JBoss Remoting
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 2.2.2.SP7
>            Reporter: Tim Fox
>            Assignee: Ron Sigal (old account)
>             Fix For: 2.4.0.CR2 (Pinto)
>
>
> If the connection between client and server is pulled (pull the real cable) or the entire server suddenly dies, then the connection won't be closed from the server (unlike a kill -9 of the server where the OS will terminate that processses connections), so the client making the write() or read() on the socket won't receive an exception.
> In the eyes of TCP the connection is still alive and the read/write will block until the socket timeout is reached.
> Typically the socket timeout will be much higher than the desired failure detection time (the validation interval), but currently failure will never be detected in this situation before the socket timeout time.
> Remoting should not be dependent on the socket timeout for failure detection, the connetion validation and socket timeout should be possible to be configured separately.
> E.g. you might want to configure a socket timeout of 60 seconds, but a connection validation frequency (ping) of 5 seconds. Currently this is not possible.
> The current implementation gives inconsistent behaviour depending on how the server died - i.e. whether the process died (e.g. kill -9) or the cable was pulled or the entire server disappeared.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-remoting-issues mailing list