[Ocfs2-devel] ocfs2_controld.cman

Joel Becker Joel.Becker at oracle.com
Thu Apr 9 11:44:15 PDT 2009


On Thu, Apr 09, 2009 at 11:11:37AM -0500, David Teigland wrote:
> On Thu, Apr 09, 2009 at 01:38:10PM +0200, Andrew Beekhof wrote:
> > On Thu, Apr 9, 2009 at 00:22, Joel Becker <Joel.Becker at oracle.com> wrote:
> > >
> > > ? ? ? ?Well, this is going to be fun. ?I have to figure out which
> > > daemon is the "first", and now it's just racy. ?I could swear that
> > > someone told me cpg would guarantee i see the joins in order, not at the
> > > same time.
> > 
> > "In order" does not necessarily imply "one node at a time".
> > 
> > I don't consider it unreasonable for two nodes starting (effectively)
> > simultaneously to appear in the first membership.
> > I believe Heartbeat had the same property.
> 
> Right, confchg order is guaranteed, but doesn't imply one node per confchg.

	I have no problem with more than one join at the same time, but
somehow I had the idea that the first joiner would be alone.  Consider
me corrected.

> > Why not just take a lock when you want to create the daemon_protocol
> > section (and allow the second guy to fail gracefully)?
> > Perhaps cpg even has something like this built in...
> 
> You probably want to use cpg messages to order things.  So, for example,
> everyone sends a message proposing that it create the section, and the node
> whose message arrives first does it.  If you're coordinating things with
> messages like this anyway, it's not much more work to include protocol
> information in the message and eliminate checkpoints.

	Ugh ugh ugh.  This code is already a complex world of states
that are hard to keep in your head.  It only gets worse the more things
in flight.  Checkpoints give us a nice way to look up data about other
nodes without this hassle - they only give us a little pain in this
setup phase.

Joel

-- 

"I am working for the time when unqualified blacks, browns, and
 women join the unqualified men in running our overnment."
	- Sissy Farenthold

Joel Becker
Principal Software Developer
Oracle
E-mail: joel.becker at oracle.com
Phone: (650) 506-8127



More information about the Ocfs2-devel mailing list