Monticello and live systems (was Re: 1 day left...)
Colin Putney
cputney at wiresong.ca
Sun Feb 26 01:05:25 UTC 2006
On Feb 25, 2006, at 4:54 AM, Andreas Raab wrote:
> I think a discussion about how Monticello fits a working style that
> can be used to maintain a live system is overdue by now. Having
> been there, having seen the immense pain Monticello inflicts on
> both sides of the maintenance chain (not only is it a pain for the
> person doing the maintenance, it is also a pain for the person on
> the receiving end of the maintenance) I think we can say with some
> certainty that Monticello fails in this regard and that another
> approach is needed.
Good idea.
First, let me mention that Monticello was designed with maintaining
live system in mind. I think where it falls down is with scale. If
you're working on a system with lots of packages, packages containing
lots of code, packages with lots of ancestry, or with changes cutting
across lots of packages, it does get slow. Also, we try to deal with
some aspects of this slowness with caching, which can take up a lot
of memory. So, yes speed is a problem for anything but small projects.
You also mentioned that "it doesn't work the right way for
incremental migrations." The strategy Monticello uses it to compare
the version being loaded with what is already in the image and make
only the necessary changes. Are you finding that this is the wrong
strategy for your needs? Or perhaps that Monticello isn't executing
that strategy well?
I also agree that a different approach is required. I don't think the
way ancestry information is modelled in Monticello will allow for
much more optimization, so we'll have to change something
fundamental. I have some ideas about the direction to take, but I'd
be interested in hearing what you think would be useful.
Colin
More information about the Squeak-dev
mailing list
|