Re: Dependency management (again)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Nightmare!

If I depend on a step, what does that mean?  That I don't start until
it has started?  Until it has finished?  Until its output has
finished?  What if it produces error output?  What if it has multiple
outputs -- can I start once its primary output has finished?  Will we
rule out explicit deadlock?  Implicit deadlock (I use your input, you
depend on me)?

What will you want next -- a guarantee that the db-query step will
read what the db-update step wrote, even in the presence of multiple
pipeline activations (i.e. atomicity)?

Maybe we should delay discussing this until we've discussed errors,
because if we end up providing some kind of transaction support, some
of these problems will go away and/or be given useful background.

My inclination for v1 is to just say "no dependency mechanism", and
for now that you should build your db-update step to provide some form
of trivial output, e.g.
 <my:wroteRecords n="3"/>
, and ignore it if you don't need it, but use it to sequence
subsequent steps if need be (e.g. in this case by wrapping the 'query'
step in a p:for-each select='my:wroteRecords'. . .)

ht
- -- 
 Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
                     Half-time member of W3C Team
    2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
            Fax: (44) 131 650-4587, e-mail: ht@inf.ed.ac.uk
                   URL: http://www.ltg.ed.ac.uk/~ht/
[mail really from me _always_ has this .sig -- mail without it is forged spam]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)

iD8DBQFGE7JDkjnJixAXWBoRAmZPAJ9j/R09Zu3ceGcDY8I4XOHB+SRBcACfXMTc
3RMq8UNqvSIqj9THUgCGIiE=
=hUjk
-----END PGP SIGNATURE-----

Received on Wednesday, 4 April 2007 14:12:41 UTC