RE: RE: [Opendlm-devel] ODLM/OGFS Recovery
"Cahill, Ben M" <[email protected]> Fri, 30 Apr 2004 14:34:14 -0700
| Newsgroups | gmane.comp.file-systems.opengfs.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi all, Good discussion ... call me slow, but I think I've finally convinced = myself that the LVB/deadman combination that you know and love should = work without any holes. Thanks for all of your help. I never would = have "thunk" it. If you recall, my last concern was about not letting any locks "slip by" = before the node death was detected, if the dead node was the sole = directory/master/requestor (i.e. *this* node didn't know anything about = the resource, but requested the lock just before the other node died). I think the lock request would be either: -- inflight: in which case, it is deferred until a very late stage of = lock recovery, after a deadman lock would have been granted, thus = indicating the node death. -- in wait queue of local copy of resource: in which case, the LVB = would get invalidated within the recovery process (*this* node would be = new master). In this case, the dead node would *not* contain the only = knowledge of the resource, anyway. Either way, we'll detect that a node death has occurred before the lock = could "slip through". I'm going to try to write some design doc and implement it next week. Thanks again. -- Ben -- > -----Original Message----- > From: [email protected]=20 > [mailto:[email protected]] On Behalf=20 > Of Zickus II, Don > Sent: Friday, April 30, 2004 10:32 AM > To: [email protected];=20 > [email protected] > Subject: RE: [ogfs-dev]RE: [Opendlm-devel] ODLM/OGFS Recovery >=20 > Thanks for the response. >=20 > > > > > Thanks for your comments. > >=20 > > When I first time got to know persistent lock from ODLM's=20 > programing=20 > > manual, I think that if the holder of a persistent lock=20 > died in any=20 > > case before releaseing this lock, all sequent incompatible=20 > > lock requests=20 > > won't be granted until dlm_purge() is invoked against the=20 > > died holder.=20 > > And I regard it as "persistent lock". It looks a little bit too=20 > > ambitious for current OpenDLM :) According to these days=20 > > discussion, it=20 > > is not really required (for OGFS recovery). > >=20 >=20 > From what I understand of the code, when the holder of the=20 > lock (via process or group) disappears unexpectedly (or=20 > expectedly and forgots to release the locks), will _NOT_=20 > cause openDLM to immediately release the locks. In fact the=20 > locks will stick around for up to 3 seconds (or 1 second with=20 > our forthcoming patch). The reason for this is that as soon=20 > as the holder dies, its pid is put on a queue. Later on an=20 > asynchronous thread (clm_master_loop() inside clm_main.c)=20 > will have its timer expire and check for work. If it finds a=20 > pid then it will perform the dlm_purge(). =20 > To prove this you can write a quick little program that=20 > creates 100,000 resources but doesn't unlock them. After the=20 > program is finished (it will probably take over a minute),=20 > for the next 3 seconds the system will be fairly responsive=20 > (ie ls is quick). Then all of a sudden the machine will=20 > become extremely sluggish as it purges all the resources. =20 > Of course this doesn't cover node death as it is very=20 > difficult to make those locks persistent without replicating=20 > its info on all the nodes (which kind of defeats the point of=20 > distributed). =20 >=20 > Comments? =20 >=20 > Best Regards, > Don >=20 >=20 > ------------------------------------------------------- > This SF.Net email is sponsored by: Oracle 10g > Get certified on the hottest thing ever to hit the market...=20 > Oracle 10g.=20 > Take an Oracle 10g class now, and we'll give you the exam FREE. > http://ads.osdn.com/?ad_id149&alloc_id=8166&op=3Dick > _______________________________________________ > Opendlm-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/opendlm-devel >=20 ------------------------------------------------------- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click