> The proposed changes are not solely about solving the case you've 
> mentioned; they're also about solving some of the issues that occur when 
> publishing to a live repository.  It's merely fortuitous that solving 
> one problem can possibly provide a solution for the other.
> 
> Specifically, the technical changes needed to allow the depot to serve 
> file data from one place and some "metadata" from another.

It is fortuitous that solving the staged deployment problem might allow
us to simultaneously address other issues.  However, publishing to a
live repository is a more complicated case than the deployment
consistency problem.

The depot presently has the notion of a transaction that has only
nominally transactional semantics.  If you want to solve publishing
consistency problems, it's going to require more effort than simply
moving files around.  Transactions should grow to encompass all of the
publishing operations that a client must perform as an atomic unit.
Transactional addition of a single package isn't an useful unit of
granularity.

In order to allow simultaneous publication by multiple clients, and a
consistent state by both the publishers and the install clients, we need
to introduce transactional semantics similar to those in a database:
the ability to perform multiple operations in a transaction; preventing
clients from seeing data dirtied by other transactions; establishing
serial order amongst transactions; ensuring that metadata updates aren't
lost; etc.

        http://en.wikipedia.org/wiki/ACID

If we want to handle distributed publication to multiple depots in a
pool, this becomes a distributed transaction/consistency problem.

I don't think we presently have this support, nor do I think that it's
particularly realistic to spend our time trying to solve that problem
right now.

The catalog snapshot during publication needs to address deployment
problems.  It is possible to use it for some publication cases, but I
wouldn't recommend using it that way.  It doesn't solve the multiple
publisher case, and we already have a working, albeit non-optimal,
method for publishing to depots.  While I agree that the publication
versus read-only depot isn't the most elegant architecture, it seems to
be sufficient for now.

-j
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to