• aelkin/elkin@dsl-hkigw8-feb9fb00-191.dhcp.inet.fi's avatar
    BUG#20697 slave fails to rollback replicated transaction hang over innodb_lock_wait_timeou · d05db0e7
    Transaction on the slave sql thread got blocked against a slave's mysqld local ta's
    lock. Since the default, slave-transaction-retries=10, there was replaying of the 
    replicated ta. That failed because of a new started from 5.0.13 policy not to rollback
    a timed-out transaction. Effectively the first round of a timed-out ta becomes committed
    by the replaying's first "BEGIN".
    
    It was decided to backport already existed method working in 5.1 implemented in
    bug #16228 for handling symmetrical deadlock problem. That patch introduced end_trans
    execution whenever a replicated ta deadlocks or timed-out.
    
    Note, that this solution can be practically suboptimal - in the light of the changed behavior
    due to timeout we still could replay only the last statement -  only with a high rate of timeouting
    replicated transactions.
    d05db0e7
slave.cc 167 KB