6.14. How to Report Replication Bugs or Problems
When you have determined that there is no user error involved, and
replication still either does not work at all or is unstable, it
is time to send us a bug report. We need to obtain as much
information as possible from you to be able to track down the bug.
Please spend some time and effort in preparing a good bug report.
If you have a repeatable test case that demonstrates the bug,
please enter it into our bugs database using the instructions
given in Section 1.8, “How to Report Bugs or Problems”. If you have a
“phantom” problem (one that you cannot duplicate at
will), use the following procedure:
Verify that no user error is involved. For example, if you
update the slave outside of the slave thread, the data goes
out of synchrony, and you can have unique key violations on
updates. In this case, the slave thread stops and waits for
you to clean up the tables manually to bring them into
synchrony. This is not a replication problem. It is
a problem of outside interference causing replication to
fail.
Run the slave with the --log-slave-updates
and --log-bin
options. These options cause
the slave to log the updates that it receives from the master
into its own binary logs.
-
Save all evidence before resetting the replication state. If
we have no information or only sketchy information, it becomes
difficult or impossible for us to track down the problem. The
evidence you should collect is:
All binary logs from the master
All binary logs from the slave
The output of SHOW MASTER STATUS
from
the master at the time you discovered the problem
The output of SHOW SLAVE STATUS
from
the slave at the time you discovered the problem
Error logs from the master and the slave
-
Use mysqlbinlog to examine the binary logs.
The following should be helpful to find the problem statement.
log_pos
and
log_file
are the
Master_Log_File
and
Read_Master_Log_Pos
values from
SHOW SLAVE STATUS
.
shell> mysqlbinlog -j log_pos
log_file
| head
After you have collected the evidence for the problem, try to
isolate it as a separate test case first. Then enter the problem
with as much information as possible into our bugs database using
the instructions at Section 1.8, “How to Report Bugs or Problems”.