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