-
Sujatha Sivakumar authored
DATABASE/TABLE Problem: ======== Even when --slave-skip-errors=all replication is broken. 31017 1:00:19 [ERROR] Slave SQL: Error executing row event: 'Table 'kubmac_Vmyb524.mybb_sessions' doesn't exist', Error_code: 1146 Setting --slave_skip_error = 1677 doesn't make a difference. Slave in row based replication fails with Error_code: 1677. It seems that --slave_skip_error is ignored in row based replication. Analysis: ========= --slave_skip_error is not ignored in case of row based replication. BUG#39393 has already addressed this issue. But there are two special cases which doesn't honor slave_skip_error. 1. When opening and locking a table fails, it was considered as a critical error and it was not honoring through slave_skip_error. 2. When field conversions fail on slave side in row based replication this too was handled as said above. Since slave_skip_error is meant to skip all the errors that are reported during application of an event hence we should remove this restriction. Fix: === The above restriction is removed now. Post fix, upon receiving an error from underlying layer, first it checks whether the error can be ignored or not. If it has to be ignored and log_warnings > 1, then a warning is printed into the error log and server continues as it does in the case of other ignored errors.
Sujatha Sivakumar authoredDATABASE/TABLE Problem: ======== Even when --slave-skip-errors=all replication is broken. 31017 1:00:19 [ERROR] Slave SQL: Error executing row event: 'Table 'kubmac_Vmyb524.mybb_sessions' doesn't exist', Error_code: 1146 Setting --slave_skip_error = 1677 doesn't make a difference. Slave in row based replication fails with Error_code: 1677. It seems that --slave_skip_error is ignored in row based replication. Analysis: ========= --slave_skip_error is not ignored in case of row based replication. BUG#39393 has already addressed this issue. But there are two special cases which doesn't honor slave_skip_error. 1. When opening and locking a table fails, it was considered as a critical error and it was not honoring through slave_skip_error. 2. When field conversions fail on slave side in row based replication this too was handled as said above. Since slave_skip_error is meant to skip all the errors that are reported during application of an event hence we should remove this restriction. Fix: === The above restriction is removed now. Post fix, upon receiving an error from underlying layer, first it checks whether the error can be ignored or not. If it has to be ignored and log_warnings > 1, then a warning is printed into the error log and server continues as it does in the case of other ignored errors.
Loading