[jboss-dev] Remoting behavior on error (Re: Possible blocker with jboss-cl 2.2.0.Alpha1)

Ron Sigal ron.sigal at jboss.com
Mon Feb 8 10:41:11 EST 2010


Yeah, Carlo also pointed out that NCDFE is a java.lang.Error, which, as 
you note, is not caught.  I agree that if ServerThread is going to 
terminate due to an error, then it should certainly close its socket, so 
that's a bug (JBREM-1183 "ServerThread should catch java.lang.Error").  
But I have mixed feelings about terminating ServerThread in this case.  
Unlike, IOException, SocketException, etc., the NoClassDefFoundError 
doesn't suggest that the socket is no longer usable.  Maybe a better 
solution (along with fixing the classloader problem, of course) is to 
use a positive timeout on the client side.

-Ron

Jaikiran Pai wrote:
> The mailing list doesn't allow me to attach anything more than 500KB. So 
> the log has been sent to Ron and the rest of the reply follows:
>
> I don't think it's going to be too useful because the log level is set 
> to INFO and as i mentioned in the earlier part of the mail - the logging 
> itself seems to be a bit messed up. I haven't yet been able to reproduce 
> this locally. The test run on our build setup  reproduces this 
> consistently, so we can enable DEBUG level logging of remoting, the next 
> time we start the test run.
>
> One thing to note is that the ServerThread catches a "Exception" and 
> later down the flow closes the socketwrapper:
>
> processInvocation(socketWrapper, inputStream, outputStream);
>      }
>      catch (Exception ex)
>      {
>         if (running)
>         {
>            log.error(this + " exception occurred during first 
> invocation", ex);
>            running = false;
>         }
>         else
>         {
>            log.debug(this + " exception occurred during first 
> invocation", ex);
>         }
>      }
> ....// some more code
>
> log.debug(this + " closed socketWrapper: " + desc);
>
>
> The closing of the socketwrapper will be skipped in case of "Error" like 
> the NCDFE.
>
> regards,
> -Jaikiran
>
>
>   
>> Ron Sigal wrote:
>>     
>>> In fact, ServerThread should close the socket when the attempt to 
>>> write generates an exception.
>>>
>>> Jaikiran, do you have a server.log?  It should have the output of
>>>
>>>    log.debug(this + " closed socketWrapper: " + desc);
>>>
>>> -Ron
>>>
>>> Carlo de Wolf wrote:
>>>       
>>>> I also want to raise how Remoting should behave when it encounters 
>>>> such an error.
>>>> I would like to see it close the socket outright, because now the 
>>>> client goes into a hang state.
>>>>
>>>> Carlo
>>>> _______________________________________________
>>>> jboss-development mailing list
>>>> jboss-development at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/jboss-development
>>>>   
>>>>         
>
> _______________________________________________
> jboss-development mailing list
> jboss-development at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jboss-development
>   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-development/attachments/20100208/56967052/attachment.html 


More information about the jboss-development mailing list