-
Kapil Agrawal authored
Problem ------- The transaction dependency writeset history map doesn't have protection from concurrent access. Analysis -------- This is because we are not locking m_writeset_history by LOCK_slave_trans_dep_tracker at all places wherever it is accessed whereas the same object is getting locked while clearing the history map. Fix --- The Writeset_history::m_writeset_history is now guarded by LOCK_slave_trans_dep_tracker where ever it is accessed and this protects concurrent update on Writeset_history:: m_writeset_history. Note : This bug fix also protects m_opt_tracking_mode variable explicitly using atomics. RB#24250
Kapil Agrawal authoredProblem ------- The transaction dependency writeset history map doesn't have protection from concurrent access. Analysis -------- This is because we are not locking m_writeset_history by LOCK_slave_trans_dep_tracker at all places wherever it is accessed whereas the same object is getting locked while clearing the history map. Fix --- The Writeset_history::m_writeset_history is now guarded by LOCK_slave_trans_dep_tracker where ever it is accessed and this protects concurrent update on Writeset_history:: m_writeset_history. Note : This bug fix also protects m_opt_tracking_mode variable explicitly using atomics. RB#24250
Loading