[PATCH] CTDB protocol and client fixes

Volker Lendecke Volker.Lendecke at SerNet.DE
Tue Nov 24 11:17:22 UTC 2015


On Tue, Nov 24, 2015 at 09:53:56PM +1100, Martin Schwenke wrote:
> On Tue, 24 Nov 2015 10:21:44 +0100, Volker Lendecke
> <Volker.Lendecke at SerNet.DE> wrote:
> 
> > On Tue, Nov 24, 2015 at 07:53:43PM +1100, Martin Schwenke wrote:
> > > * Disallow nested event loops at compile time by not passing an
> > >   event context around.  Then you need to create temporary event
> > >   contexts, do repeated set-up and tear-down and, depending on whose
> > >   eyes you are looking with, you end up with more complexity.
> > >
> > > * Do the setup once, use generic packet processing under the hood and
> > >   let tevent's run-time nesting detection catch the nesting if someone
> > >   writes bad code.  
> > 
> > For generic file server code it will take Metze and Jeremy
> > to convince me that nested event loops are a requirement now
> > again. I know that my mental capabilities are just too
> > limited to debug them, sorry. Maybe I should have gotten my
> > PhD in algebraic topology before I start coding Samba.
> 
> Either way, there can be no nested event loops.  In the 2nd case, if
> tevent detects nesting it will cause an abort, so it is regarded as a
> programming error.

Serious comment this time: We need to make sure at compile
time that this can't happen. Runtime is not enough.

We have so many problems with proper "run-down" of complex
structures that only appear under certain load scenarios
that I am absolutely convinced that relying on runtime for
this kind of subtlety is just a no-go.

Volker

-- 
SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
http://www.sernet.de, mailto:kontakt at sernet.de



More information about the samba-technical mailing list