On Fri, Feb 10, 2012 at 12:37 PM, Mircea Markus <mmarkus(a)redhat.com> wrote:
> >> Thinking some more the old-view approach should happen
on C and it
> >> doesn't, so we're not covered.
> >> The soutions I see here is to either replay the prepare on C as
> >> part
> >> of the state transfer or not to release the ST lock until the
> >> transaction (vs the prepare command) is complete.
>
> We've committed to implementing NBST for 5.2, so not releasing the ST
> lock is not an option.
Won't NBST solve this through lock migration?
As 5.1.1 ships with blocking state transfer and this fix is for 5.1.1 only I think the
solution mentioned above is also worth considering.
I don't think it's an option for 5.1.1 either: with pessimistic
locking, the user controls when the locks are acquired, so the chance
of a user transaction block state transfer for a long time is much
higher than they are now.
For 5.2 I'm going to implement NBST with the current locking scheme
first and then add lock migration on top as I think adding both at
once will complicate things too much.
Cheers
Dan