With the test case below, I'm getting a valgrind error. Reproducible on MySQL 5.5 and MariaDB 5.5, 10.0. Not reproducible on MySQL 5.6, so apparently it's fixed there; but it's worth checking whether the fix will apply to MariaDB, and decide if it needs to be fixed in 5.5 as well (I've added 5.5 to the fix versions for now).
- Test case (run with valgrind):
source include/have_semisync_plugin.inc;
source include/master-slave.inc;
source include/have_binlog_format_row.inc;
connection master;
eval INSTALL PLUGIN rpl_semi_sync_master SONAME '$SEMISYNC_MASTER_SO';
--connect (con1,localhost,root,,)
CREATE TEMPORARY TABLE tmp (i INT);
--disconnect con1
- no need to synchronize
- End of test case
Warning: 520 bytes lost, allocated at sql/rpl_handler.cc:300, sql/log.cc:5469, sql/sql_base.cc:1807, sql/sql_class.cc:1417, sql/mysqld.cc:2439, sql/mysqld.cc:2473, sql/mysqld.cc:2597, sql/sql_connect.cc:1264
Memory lost: 520 bytes in 1 chunks
==24797== 620 bytes in 1 blocks are still reachable in loss record 4 of 4
==24797== at 0x4C28F9F: malloc (vg_replace_malloc.c:236)
==24797== by 0xCC9406: sf_malloc (safemalloc.c:105)
==24797== by 0xCB3E3B: my_malloc (my_malloc.c:41)
==24797== by 0x71DEDC: Binlog_storage_delegate::after_flush(THD*, char const*, unsigned long long, bool) (rpl_handler.cc:300)
==24797== by 0x89F41B: MYSQL_BIN_LOG::write(Log_event*, char*) (log.cc:5469)
==24797== by 0x5AD4E6: close_temporary_tables(THD*) (sql_base.cc:1807)
==24797== by 0x5D3A25: THD::cleanup() (sql_class.cc:1416)
==24797== by 0x55DB2D: thd_cleanup(THD*) (mysqld.cc:2438)
==24797== by 0x55DBE9: unlink_thd(THD*) (mysqld.cc:2472)
==24797== by 0x55E014: one_thread_per_connection_end(THD*, bool) (mysqld.cc:2595)
==24797== by 0x7187BC: do_handle_one_connection(THD*) (sql_connect.cc:1264)
==24797== by 0x718101: handle_one_connection (sql_connect.cc:1168)
==24797== by 0xBA313E: pfs_spawn_thread (pfs.cc:1015)
==24797== by 0x5458EFB: start_thread (pthread_create.c:304)
==24797== by 0x611AF4C: clone (clone.S:112)
With the test case below, I'm getting a valgrind error. Reproducible on MySQL 5.5 and MariaDB 5.5, 10.0. Not reproducible on MySQL 5.6, so apparently it's fixed there; but it's worth checking whether the fix will apply to MariaDB, and decide if it needs to be fixed in 5.5 as well (I've added 5.5 to the fix versions for now).
source include/have_semisync_plugin.inc;
source include/master-slave.inc;
source include/have_binlog_format_row.inc;
connection master;
eval INSTALL PLUGIN rpl_semi_sync_master SONAME '$SEMISYNC_MASTER_SO';
--connect (con1,localhost,root,,)
CREATE TEMPORARY TABLE tmp (i INT);
--disconnect con1
Warning: 520 bytes lost, allocated at sql/rpl_handler.cc:300, sql/log.cc:5469, sql/sql_base.cc:1807, sql/sql_class.cc:1417, sql/mysqld.cc:2439, sql/mysqld.cc:2473, sql/mysqld.cc:2597, sql/sql_connect.cc:1264
Memory lost: 520 bytes in 1 chunks
==24797== 620 bytes in 1 blocks are still reachable in loss record 4 of 4
==24797== at 0x4C28F9F: malloc (vg_replace_malloc.c:236)
==24797== by 0xCC9406: sf_malloc (safemalloc.c:105)
==24797== by 0xCB3E3B: my_malloc (my_malloc.c:41)
==24797== by 0x71DEDC: Binlog_storage_delegate::after_flush(THD*, char const*, unsigned long long, bool) (rpl_handler.cc:300)
==24797== by 0x89F41B: MYSQL_BIN_LOG::write(Log_event*, char*) (log.cc:5469)
==24797== by 0x5AD4E6: close_temporary_tables(THD*) (sql_base.cc:1807)
==24797== by 0x5D3A25: THD::cleanup() (sql_class.cc:1416)
==24797== by 0x55DB2D: thd_cleanup(THD*) (mysqld.cc:2438)
==24797== by 0x55DBE9: unlink_thd(THD*) (mysqld.cc:2472)
==24797== by 0x55E014: one_thread_per_connection_end(THD*, bool) (mysqld.cc:2595)
==24797== by 0x7187BC: do_handle_one_connection(THD*) (sql_connect.cc:1264)
==24797== by 0x718101: handle_one_connection (sql_connect.cc:1168)
==24797== by 0xBA313E: pfs_spawn_thread (pfs.cc:1015)
==24797== by 0x5458EFB: start_thread (pthread_create.c:304)
==24797== by 0x611AF4C: clone (clone.S:112)