Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.csd.uwm.edu!gem.mps.ohio-state.edu!ginosko!uunet!yale!mfci!clancy From: clancy@mfci.UUCP (Pat Clancy) Newsgroups: comp.protocols.nfs Subject: Re: NFS not idempotent (was re: mountd Performance under Stress) Message-ID: <1008@m3.mfci.UUCP> Date: 7 Sep 89 01:10:03 GMT References: <14068@bloom-beacon.MIT.EDU> Sender: news@mfci.UUCP Reply-To: clancy@multiflow.COM (Pat Clancy) Organization: Multiflow Computer Inc., Branford Ct. 06405 Lines: 24 In article <14068@bloom-beacon.MIT.EDU> jtkohl@athena.mit.edu (John T Kohl) writes: >Unfortunately, some of them ARE NOT idempotent, and that has caused >great troubles to us at MIT. > >Consider: > create directory (we've had mkdir return 'already exists' when > it has actually just been created) > set attributes with length = 0 (truncate--with packet reordering > and multiple biod's/nfsd's, this can lead to > truncation occuring after a successive > write()--poof, your file contents are gone) There's a paper on "Improving Performance/Correctness of an NFS Server" in the Winter 89 Usenix Proceedings, that has a good discussion of problems in this area; some of this behavior can be caused by race conditions which are exposed when the server is overloaded. This can apparently be partially fixed with some simple changes, e.g. examining the cache (server side) of recently completed request records for every new incoming request and discarding duplicates. Pat Clancy Multiflow Computer