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