Thank you. Indeed the second Valgrind log shows a memory leak for three slave events. Assuming a 10x Valgrind slowdown, there should ~18MB of leaked data after the 10h run. I don't think three log events could be that big.
Does the issue happen if you use other replication filtering options, especially replicate-do-db? To check that, master should send events that contain both filtered and passed db names.
By code analysis, exec_relay_log_event() does not always free the event before the return: if update_log_pos() failed and in case of replicated transaction rollback due to a temp error. These do not seem to be related to table filtering though.
Alex, Mike -
Thank you. Indeed the second Valgrind log shows a memory leak for three slave events. Assuming a 10x Valgrind slowdown, there should ~18MB of leaked data after the 10h run. I don't think three log events could be that big.
Does the issue happen if you use other replication filtering options, especially replicate-do-db? To check that, master should send events that contain both filtered and passed db names.
By code analysis, exec_relay_ log_event( ) does not always free the event before the return: if update_log_pos() failed and in case of replicated transaction rollback due to a temp error. These do not seem to be related to table filtering though.