8.0-RC1 NFS client timeout issue
Rick Macklem
rmacklem at uoguelph.ca
Mon Nov 2 15:30:09 UTC 2009
On Mon, 2 Nov 2009, Olaf Seibert wrote:
>> Although I think the patch does avoid sending the request on the
>> partially closed connection, it doesn't fix the "real problem",
>> so I don't know if it is worth testing?
>
> Well, I tested it anyway, just in case. It seems to work fine for me, so
> far.
>
Yes, I think the patch is ok, but it doesn't completely resolve the
reconnect issue. It's good to hear that it helps for your case.
> I don't see your extra RSTs either. Maybe that is because in my case the
> client used a different port number for the new connection. (Usually,
> this is controlled by the TCP option SO_REUSEADDR from <sys/socket.h>).
>
For my packet trace, it is using different port#s. The problem is that,
for some reason, it sends the RST from the new port# instead of the port#
for the old connection just closed via soclose().
I don't know why you don't see the extra RSTs, but consider yourself
lucky, since you should be ok without them. (It may simply be that your
server isn't Solaris10 --> a different TCP stack in it.)
Do you happen to know what your server is?
>> I'm hoping that the "Help TCP Wizards..." thread I just started
>> on freebsd-current comes up with something.
>>
>> At least I can reproduce the problem now. (For some reason, I have
>> to reboot the Solaris10 server before the problem appears for me.
>> I can't think why this matters, but that's networking for you:-)
>
> Maybe it depends on server load or something. This particular server is
> a central file server at a university, it may have some more pressure to
> terminate unused connections.
>
Or type of server (ie. not Solaris10). It definitely depends upon timing
in the client. (I'm about to try introducing a 1sec delay before the
soconnect() call and see if that makes the RSTs go away. Not much of a
fix, but...)
I now recall that I ran into a similar problem (although I didn't dig
into the packet traces then) when testing my Mac OS X 10 client, which
uses essentially the reconnect code from Mac OS X 10.4 Tiger. I "fixed"
it by adding a 1sec delay before the reconnect.
Thanks for helping with testing, rick
More information about the freebsd-stable
mailing list