On Fri, Jul 16, 2004 at 08:39:52PM +0200, Dieter Maurer wrote:
In either case, if you have resource contention, you are probably out of luck.
Luck is not a binary concept ;-)
Our current most essential use case for "Version"s is reindexing large catalogs. Reindexing can take hours. It is bad when the reindexing fails due to a write conflict. It is much more acceptable when an intervening occational catalog update fails with a "VersionLockError".
I am so happy Dieter happens to come up with a perfect Zope-compatible use-case to justify this. This is *so* true for any application that isn't a Web application. When you have long-running transactions with lots of objects being modified, it is certainly better to deny access to someone else up-front ("This resource is unavailable. Go get some coffee.") than to let this person start and then have them either conflict at the end or have *you* conflict at the end. Yes, it's not something to be used as a rule, but for certain operations it is just *so* essential. Take care, -- Christian Robottom Reis | http://async.com.br/~kiko/ | [+55 16] 3361 2331