Re: osd shutdown notification

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 26 Mar 2012, Tommi Virtanen wrote:
> On Mon, Mar 26, 2012 at 12:52, Sage Weil <sage@xxxxxxxxxxxx> wrote:
> >> For daemon crashes, perhaps the next run, after upstart/etc restarts
> >> the daemon, can somehow convince others proactively that the new
> >> osd.42 is better than the old osd.42. That sounds like a good feature
> >> to have..
> >
> > That much we already have, but startup/restart can take a while.
> > sysvinit doesn't do auto-restart, though, and it would be nice not to rely
> > on it in upstart/whatever.
> 
> I think daemon restarting is just something you can assume to exist in
> the modern world.
> 
> > I can also imagine a scenario where we don't have auto-restart but do want
> > fast failure notification...
> 
> Perhaps a separate executable that sends "osd.42 is now definitely
> down" will be good enough? Hopefully you don't have two osd.42's
> around, anyway. And if you want that, instead of execing ceph-osd, you
> do a fork & exec, wait in the parent, then exec that thing that marks
> it down. For upstart (and often for others too), there's a "after the
> service exits" hook where we could also plug that in, if we wanted to.

...except that the way to reliably mark down a particular osd.42 requires 
data that's private to the ceph-osd instance, and unknown until it starts 
up and joins the cluster.  That makes it awkward to implement any kind of 
wrapper because you have to pass it a cookie using some side-channel.

execv() in the signal handler, OTOH, is easy.  Is it that offensive?

The other nice thing about that is that the failure notification can be 
informative for free: "osd.42 stopped: got SIGTERM", "osd.42 stopped: 
failed assert at foo.cc:1234", etc.

sage

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux