On 26/03/2009, at 6:18 AM, Tim Parkin wrote:

I don't want to have to repeat myself but *it's not about the
consistency or atomicity*. It's about being able to make two or more
changes in a single request (via a UI or API) and if the last one fails,
being able to roll the first ones back and tell the user "Sorry,
something went wrong, would you like to try again" instead of "you have
a partial success, how would you like to deal with it?"

In what way is that not atomicity?

I have a patch that adds/restores fail-on-conflict bulk update behaviour (ie. your rollback requirement, but with no intermediate state). It's 10-15 lines depending on formatting, i.e. fairly trivial, so it should be easy to keep it on HEAD. I trigger it explicitly by adding fail-on-conflict: true to the top level json in the bulk request, which means that existing tests pass because the default semantics are unpatched.

Antony Blakey
-------------
CTO, Linkuistics Pty Ltd
Ph: 0438 840 787

All that is required for evil to triumph is that good men do nothing.


Reply via email to