RE: RE: [Opendlm-devel] ODLM/OGFS Recovery

"Zickus II, Don" <[email protected]> Fri, 30 Apr 2004 10:32:13 -0400
Newsgroups gmane.comp.file-systems.opengfs.devel
Message-ID <[email protected]>
Thanks for the response.

> >
> Thanks for your comments.
>=20
> When I first time got to know persistent lock from ODLM's programing=20
> manual, I think that if  the holder of a persistent lock 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

From what I understand of the code, when the holder of the lock (via =
process or group) disappears unexpectedly (or expectedly and forgots to =
release the locks), will _NOT_ cause openDLM to immediately release the =
locks.  In fact the locks will stick around for up to 3 seconds (or 1 =
second with our forthcoming patch).  The reason for this is that as soon =
as the holder dies, its pid is put on a queue.  Later on an asynchronous =
thread (clm_master_loop() inside clm_main.c) will have its timer expire =
and check for work.  If it finds a pid then it will perform the =
dlm_purge(). =20
To prove this you can write a quick little program that creates 100,000 =
resources but doesn't unlock them.  After the program is finished (it =
will probably take over a minute), for the next 3 seconds the system =
will be fairly responsive (ie ls is quick).  Then all of a sudden the =
machine will become extremely sluggish as it purges all the resources. =20
Of course this doesn't cover node death as it is very difficult to make =
those locks persistent without replicating its info on all the nodes =
(which kind of defeats the point of distributed). =20

Comments? =20

Best Regards,
Don


-------------------------------------------------------
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