🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.client-server
Article #170

Re: Sun RPC time-out question

#170
From: Abhijit Khale
Date: Sat, 19 Dec 1992 16:26
38 lines
2411 bytes
In article <8411@charon.cwi.nl> guido@cwi.nl (Guido van Rossum) writes:

>I am in the process of re-implementing Sun RPC.  All the documentation
>I have are RFC1014 (XDR) and RFC1057 (RPC), and RFC1094 (NFS).  I have
>a question that isn't answered by these documents:
>
>When using the UDP version, how does the client recover from lost
>packets?  When the call packet is lost, a simple retransmission is
>enough, however, when a reply packet is lost, a retransmission can
>cause the request to be executed twice.  How does e.g. an NFS client
>handle this if the request is not idempotent (like RENAME)?  Is there
>a way for the client to tell from the failing reply from the second
>try that the first try must have succeeded even though the response
>got lost?
>Note that I need to know how the existing Sun RPC implementation
>handles this situation, not how it could be done in a hypothetical
>system (I know all about Amoeba's RPC, for instance).

Sun RPC over UDP does not guarantee at-most-once delivery. The way Sun RPC
over UDP (or any connectionless transport) works is to retransmit a request
repeatedly till either an answer is recieved or a total timeout value is
reached. So it is possible for the same request to be processed twice. You can
reduce the probability of this happening a lot by doing a svc_udpenablecache()
(svc_dgenablecache() in TIRPC) on the server side. This sets up a server side
cache which throws away duplicate requests. 

>Pointers to sources or documents are welcome!

Sun's freely licensed RPC/XDR implementation, RPCSRC 4.0, is 
available via anonymous ftp from bcm.tmc.edu and by email from the
archive-server@bcm.tmc.edu.

If you use the archive server, send mail to archive-server@bcm.tmc.edu
with a Subject of "send nfs index" to see all the names of the files.
Sending a message with the Subject "help" will return to you more
information about the archive server itself.

Abhijit
Technical Details
Message-ID: <lj6j9hINN6mk@appserv.Eng.Sun.COM>
Path: arc1-ca.pugleaf.net!sparky!uunet!usc!cs.utexas.edu!sun-barr!news2me.EBay.Sun.COM!male.EBay.Sun.COM!exodus.Eng.Sun.COM!appserv.Eng.Sun.COM!camilla.Eng.Sun.COM!khale
References: <8411@charon.cwi.nl>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!usc!cs.utexas.edu!sun-barr!news2me.EBay.Sun.COM!male.EBay.Sun.COM!exodus.Eng.Sun.COM!appserv.Eng.Sun.COM!camilla.Eng.Sun.COM!khale
From: khale@camilla.Eng.Sun.COM (Abhijit Khale)
Newsgroups: comp.client-server
Subject: Re: Sun RPC time-out question
Date: 19 Dec 1992 16:26:25 GMT
Organization: Sun
Lines: 40
Message-ID: <lj6j9hINN6mk@appserv.Eng.Sun.COM>
References: <8411@charon.cwi.nl>
NNTP-Posting-Host: camilla