(Illustration by Gaich Muramatsu)
On Sun, 29 Nov 1998, Michael Salzmann wrote: > > > > On Fri, Nov 27, 1998 at 04:16:56PM -0500, Peter J. Braam wrote: > > Michael, > > > > Yes what you show is slow, but for a reason. The Coda servers are > > stateful and protect clients from seeing bad data. The protocol is that > > of callback promises, and when a client wants to store a new version, > > servers will first break callbacks at all other clients. In this way read > > only access to files/directories goes without ever contacting the servers > > provided files are in cache. > > > > Before you made the final change on client2 your server called all other > > clients to break the callback (including the client1 that you had > > shutdown). [The servers do this with a multi rpc to limit the total wait > > to a single timeout.] Client1 was no longer on the net, so the server let > > the RPC time out [sending a variety of retransmisions etc]. This is what > > took a minute. > > Hmm, isn't it possible to do this asynchronously? Yes, but then one loses the guarantee that a client see only up to date data. > > > > > > Yet, you do have a point: when a client is shut down orderly, we should > > tell all the servers to which we hold about it, so that it destroys state > > in an orderly fashion. > > > > That doesn't help. For my application I need a shorter response time (< 15 > sec.) even if the other client crashes. Is it difficult (possible) to patch > the server/rpc2-library and modify the timeout? > Sure. Start the codaserver (codasrv) with an extra parameter: -o "timeout value" No one here has tried that for a while, but hopefully it still works. - Peter - > -MIC > >Received on 1998-11-29 14:42:52