Re: Bug + Patch (Intersync 0.9.5)
Troy Benjegerdes <[email protected]> Thu, 30 Jan 2003 20:58:42 -0600
| Newsgroups | gmane.comp.file-systems.intermezzo.devel |
|---|---|
| Message-ID | <[email protected]> |
On Thu, Jan 30, 2003 at 05:42:00PM +0100, [email protected] wrote: > Hello, > > The patch I posted does not solve all problems. > It does not work when the permit is revoked by > the server (after revoking from client B holding > permit) and the server is not yet informed of > KML waiting at client B. When this happens, > the server sends an outdated value of kml offset > (using JOB_SEND_KMLSIZE). If the server and client B are not disconnected, can't we revoke the permit syncronously with sending of the KML offset? Maybe even by putting the permit revocation ack in the same packet as the kml offset? Or am I missing something about what's going on? (I'm not that familiar with the code yet) > PS.: I am wondering why you have not considered > using IBM's distributed lock package. I have found > so many places where (it seems) things could go > wrong ... is it because the stealing idea is not > compatible ? Well, in my mind, what we have is a single authoritative server, with two clients. This is the simpler case, and we really ought to have this completely rock solid before we get into the extra latencies and problems that a distributed lock manager can cause. I think it *might* be compatible with stealing.. the stealing idea allows a disconnected client to do writes, even though they might have to resolve a conflict later. I would argue that a lock manager should only be introduced only when we want to have multiple authoritative servers. Also, I'd recommend anyone who wants to get some ideas of the problems with disconnected operation and resolving conflicts look at Bitkeeper, and in particular, the way some of the PowerPC linux kernel people use it. Bitkeeper has a reasonably well thought out model for this kind if stuff. (On another note, some days I wonder if I'll eventually wind up violating Bitkeeper's "you can't develop a competitor to bitkeeper" license if I work on intermezzo enough) ------------------------------------------------------- This SF.NET email is sponsored by: SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! http://www.vasoftware.com