Christopher Browne cbbrowne at ca.afilias.info
Fri Nov 26 13:20:43 PST 2010
Jan Wieck <JanWieck at Yahoo.com> writes:
> On 11/17/2010 5:06 PM, Christopher Browne wrote:
>> A thing that several of us have been ruminating over for a while is the
>> problem that people get confused about how you submit Slonik scripts,
>> you may have some actions that require waits.
>
> One major problem with automatic waiting for events is that it is
> extremely context sensitive to wait at all.
>
> One cannot wait inside of a TRY block. The events aren't committed
> yet, so they cannot propagate.
>
> One needs to be careful not to wait if the current path configuration
> is incomplete. You should for example never wait for the FIRST store
> path ... you'd wait forever.
>
> This all basically exposes that slonik has insufficient knowledge
> about the overall cluster configuration and healthiness. It basically
> fires off "commands" blindly. I've long been thinking that slonik
> itself needs a major overhaul. My recent experiences with the Mozilla
> Rhino JavaScript engine (Steve and I developed a cluster test
> framework using it) makes me think that actually creating a complete
> new slonik from scratch won't be too bad of an idea.

I'm not sure yet what the answer is.  The following are possibilities,
each seeming to have merits and demerits:

1.  Drop TRY, so people don't make the mistake of imagining
transactional safety that's not there.  If we add "automatic waits,"
we're likely giving up on the capability of TRY.

2.  Define clearly what things are allowed in a TRY block and what
things are not, so that the slonik parser forbids invalid actions.

I'm not sure if that's plausible.

These items are evolutionary changes, not revolutionary.

If we're to have something altogether replacing Slonik, I'd think:

3.  It needs to have a new name, so people don't confuse "old Slonik"
with "new Slonik."

I have worked on projects where they tried desperately to retain the
same name for fundamentally different designs, and this causes no end of
confusion.

4.  We need an overview of what the new tool is, and the qualities that
define it.  It should be possible to have a fair bit of detail of things
the slonik replacement does and doesn't have.
-- 
let name="cbbrowne" and tld="afilias.info" in String.concat "@" [name;tld];;
Christopher Browne
"Bother,"  said Pooh,  "Eeyore, ready  two photon  torpedoes  and lock
phasers on the Heffalump, Piglet, meet me in transporter room three"


More information about the Slony1-general mailing list