• Vlad Lesin's avatar
    MDEV-30165 X-lock on supremum for prepared transaction for RR · 95730372
    Vlad Lesin authored
    trx_t::set_skip_lock_inheritance() must be invoked at the very beginning
    of lock_release_on_prepare(). Currently  trx_t::set_skip_lock_inheritance()
    is invoked at the end of lock_release_on_prepare() when lock_sys and trx
    are released, and there can be a case when locks on prepare are released,
    but "not inherit gap locks" bit has not yet been set, and page split
    inherits lock to supremum.
    
    Also reset supremum bit and rebuild waiting queue when XA is prepared.
    
    Reviewed by: Marko Mäkelä
    95730372
xa_prepare_reset_supremum_lock.result 436 Bytes