Re: Connection reset

Esmond Pitt <[email protected]> Fri, 29 Aug 2008 16:49:23 +1000
Newsgroups gmane.comp.java.sun.rmi
Organization Melbourne Software Company
Message-ID <20080829064756.ENFY2301.nschwotgx01p.mx.bigpond.com@toshibakx1wgjb>
Robert

> This time round I was able to occasionally reproduce the problem with a
small test case, and take packet dumps.  The dumps showed that the server
machine wasn't responding correctly to MTU negociation and certain packets
were just getting unceremoniously (but consistently) swallowed.

So you have a kernel software problem (MTU path negotiation) in the server
machine. Check for kernel patches or upgrades.

> After about 10 minutes, this server thread disappears.

That's the server trying to write out the remote method call
result/exception/success. It's probably getting a connection reset of its
own after the 10 minutes, hence the exit. There's a Java system property, I
think sun.rmi.server.exceptionTrace, that will cause that to be logged by
the server.

> 1) Where should I look to try and sort out why the MTU negociation isn't
happening properly, in the O/S

In the O/S.

> Does Java rewrite any of the network stack that would be implicated in
this kind of problem

No.

> or is it 100% based on the underlying O/S implementation?

Yes.

> 2) My network admins tell me they are surprised to see that the RMI
packets are all sent with the Don't Fragment bit set.

I believe RMI or indeed Java couldn't do that even if it/they wanted to.
AFAIK there is no API to set the DF bit in TCP. It must be the kernel, or an
intermediate router or switch.

> 3) While I wait for the underlying problem to be fixed, in the face of
systematically dropped packets, would you still advise adjusting the
property
sun.rmi.transport.tcp.responseTimeout
assuming we can find a value that allows "normal" calls to complete?

You could try setting this to about double the 'normal' time.

EJP

===========================================================================
To unsubscribe, send email to [email protected] and include in the body
of the message "signoff RMI-USERS".  For general help, send email to
[email protected] and include in the body of the message "help".

For a list of frequently asked RMI questions please refer to:
http://java.sun.com/j2se/1.3/docs/guide/rmi/faq.html

To view past RMI-USERS postings, please see:
http://archives.java.sun.com/archives/rmi-users.html