On Thu, 2009-06-25 at 16:25 +0100, Chrissie Caulfield wrote:
> Steven Dake wrote:
> > The change is a good idea, but I'd rather not stick more error code
> > handling requirements on the user.  Can't we just use try again instead?
> > 
> 
> Hmmm
> 
> ERR_INTERRUPT is already a listed return code, and most people doing
> communications are used to trapping something similar I think. Also I
> don't really think that ERR_TRY_AGAIN properly captures what has happened.
> 
> But I'm not going to get anal about this. Does anyone else have an opinion?
> 

Chrissie,

This change has profound changes across all the API interfaces.  It
would trigger every single API to deliver an ERR_INTERRUPT to the user
in this use case.

For example, if saCkptSectionCreate was interrupted, it would return
this error code.  Unfortunately SA Forum didn't specify ERR_INTERRUPT in
the list of valid return codes there, so we would have to trap in every
library call in openais for this error code and return a sa forum
specified error code (such as try again).

I'm really concerned this could cause breakage all over cluster 3 and
downstream without proper trapping in the SA Forum services.

I don't want to introduce such a change so near release that requires
reworking all the library api calls so near release.

Can we go with TRY_AGAIN for now, and then adjust to ERR_INTERRUPT once
we have a proper openais munging of this error code?

Regards
-steve

> Chrissie
> 
> > 
> > On Thu, 2009-06-25 at 10:03 +0100, Chrissie Caulfield wrote:
> >> Currently coroipcc detects EINTR returns from poll() etc and simply
> >> retries the operation without informing the clients.
> >>
> >> I think the clients need to know a signal has been detected. Many
> >> daemons trap SIGINT to help them shutdown cleanly, and this used to
> >> work. Now they get the signal delivered but calls like quorum_dispatch()
> >> do not return so they can't tidy up and close down.
> >>
> >> This patch changes the behaviour so that if EINTR is detected it is
> >> passed back to the clients as CS_ERR_INTERRUPT. The clients can then
> >> retry the operation or exit as they see fit.
> >>
> >> _______________________________________________
> >> Openais mailing list
> >> [email protected]
> >> https://lists.linux-foundation.org/mailman/listinfo/openais
> >

_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais

Reply via email to