Article View: comp.client-server
Article #170Re: Sun RPC time-out question
From: Abhijit Khale
Date: Sat, 19 Dec 1992 16:26
Date: Sat, 19 Dec 1992 16:26
38 lines
2411 bytes
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!khaleReferences:
<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