[Gluster-devel] Notifications (was Re: GF_PARENT_DOWN on SIGKILL)

Xavier Hernandez xhernandez at datalab.es
Mon Jul 25 06:52:41 UTC 2016


Hi Jeff,

On 22/07/16 16:14, Jeff Darcy wrote:
>> I don't think we need any list traversal because notify sends it down
>> the graph.
>
> Good point.  I think we need to change that, BTW.  Relying on
> translators to propagate notifications has proven very fragile, as many
> of those events are overloaded to mean very different things to
> different translators (e.g. just being up vs. having quorum) with
> different rules for when they should or should not be propagated.  Going
> forward, I think we can save ourselves a lot of headaches by treating
> notification as an infrastructure responsibility, and changing
> translators to use something else (e.g. IPC fops or upcalls) for their
> internal needs.

I partially agree. I think gluster core should have more control about 
event propagation, however some events, as they are currently used, need 
to be controlled by the xlator in some way.

For example GF_EVENT_CHILD_UP cannot be immediately sent once the xlator 
itself has been completely initialized because this would mean that 
upper xlators could start sending requests. In the specific case of ec, 
this is not good, because with a single child up, the volume is 
completely inoperable. On the other side, waiting for all subvolumes to 
be up (or down) is a waste of time if there's some problem because ec 
can begin working with less bricks.

Maybe the infrastructure should include some way to receive specific 
events from the xlatoes and use them to propagate events between xlators 
when appropriate. This way the xlator is not responsible to propagate 
any event, but to maintain informed the gluster core about its current 
state.

Xavi

>
> But that's a different issue.  For now, just pushing one PARENT_DOWN
> to the top of the graph should suffice.
> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at gluster.org
> http://www.gluster.org/mailman/listinfo/gluster-devel
>


More information about the Gluster-devel mailing list