Multi-source replication (MDEV-253)

[MDEV-563] Multi-source: Memory loss warnings on an attempt to create a duplicate connection with a different name Created: 2012-09-28  Updated: 2012-09-28  Resolved: 2012-09-28

Status: Closed
Project: MariaDB Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Technical task Priority: Major
Reporter: Elena Stepanova Assignee: Michael Widenius
Resolution: Fixed Votes: 0
Labels: None
Environment:

Ubuntu 11.10 x86_64


Attachments: File mysqld.trace.gz    
Issue Links:
Relates

 Description   

Server was built as BUILD/compile-pentium-debug-max

Debug trace file is also attached.

Warning:  128 bytes lost, allocated at mysys/array.c:65, sql/rpl_mi.cc:61, sql/sql_par sql/sql_parse.cc:808, sql/sql_connect.cc:1253, sql/sql_connect.cc:1169
Warning:   16 bytes lost, allocated at sql/rpl_mi.cc:48, sql/sql_parse.cc:2361, sql/sq808, sql/sql_connect.cc:1253, sql/sql_connect.cc:1169, perfschema/pfs.cc:1017
Warning:  512 bytes lost, allocated at mysys/array.c:65, mysys/hash.c:92, sql/rpl_tblmrse.cc:2361, sql/sql_parse.cc:5813, sql/sql_parse.cc:1071
==10948== 116 bytes in 1 blocks are still reachable in loss record 2 of 6
==10948==    at 0x4C28F9F: malloc (vg_replace_malloc.c:236)
==10948==    by 0xC6B4CE: sf_malloc (safemalloc.c:105)
==10948==    by 0xC5619B: my_malloc (my_malloc.c:41)
==10948==    by 0x705DC1: Master_info::Master_info(st_mysql_lex_string*, bool) (rpl_mi
==10948==    by 0x6100BA: mysql_execute_command(THD*) (sql_parse.cc:2361)
==10948==    by 0x619A16: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_p
==10948==    by 0x60CFA1: dispatch_command(enum_server_command, THD*, char*, unsigned
==10948==    by 0x60C258: do_command(THD*) (sql_parse.cc:808)
==10948==    by 0x70FE62: do_handle_one_connection(THD*) (sql_connect.cc:1253)
==10948==    by 0x70F84D: handle_one_connection (sql_connect.cc:1168)
==10948==    by 0xB9361A: pfs_spawn_thread (pfs.cc:1015)
==10948==    by 0x5895EFB: start_thread (pthread_create.c:304)
==10948==    by 0x611959C: clone (clone.S:112)
==10948== 228 bytes in 1 blocks are still reachable in loss record 3 of 6
==10948==    at 0x4C28F9F: malloc (vg_replace_malloc.c:236)
==10948==    by 0xC6B4CE: sf_malloc (safemalloc.c:105)
==10948==    by 0xC5619B: my_malloc (my_malloc.c:41)
==10948==    by 0xC2CE25: init_dynamic_array2 (array.c:65)
==10948==    by 0x705EB7: Master_info::Master_info(st_mysql_lex_string*, bool) (rpl_mi
==10948==    by 0x6100BA: mysql_execute_command(THD*) (sql_parse.cc:2361)
==10948==    by 0x619A16: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_p
==10948==    by 0x60CFA1: dispatch_command(enum_server_command, THD*, char*, unsigned
==10948==    by 0x60C258: do_command(THD*) (sql_parse.cc:808)
==10948==    by 0x70FE62: do_handle_one_connection(THD*) (sql_connect.cc:1253)
==10948==    by 0x70F84D: handle_one_connection (sql_connect.cc:1168)
==10948==    by 0xB9361A: pfs_spawn_thread (pfs.cc:1015)
==10948==    by 0x5895EFB: start_thread (pthread_create.c:304)
==10948==    by 0x611959C: clone (clone.S:112)
==10948== 612 bytes in 1 blocks are still reachable in loss record 5 of 6
==10948==    at 0x4C28F9F: malloc (vg_replace_malloc.c:236)
==10948==    by 0xC6B4CE: sf_malloc (safemalloc.c:105)
==10948==    by 0xC5619B: my_malloc (my_malloc.c:41)
==10948==    by 0xC2CE25: init_dynamic_array2 (array.c:65)
==10948==    by 0xC327B6: _my_hash_init (hash.c:92)
==10948==    by 0x9371E4: table_mapping::table_mapping() (rpl_tblmap.cc:47)
==10948==    by 0x701E13: Relay_log_info::Relay_log_info(bool) (rpl_rli.cc:57)
==10948==    by 0x705C8F: Master_info::Master_info(st_mysql_lex_string*, bool) (rpl_mi
==10948==    by 0x6100BA: mysql_execute_command(THD*) (sql_parse.cc:2361)
==10948==    by 0x619A16: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_p
==10948==    by 0x60CFA1: dispatch_command(enum_server_command, THD*, char*, unsigned
==10948==    by 0x60C258: do_command(THD*) (sql_parse.cc:808)
==10948==    by 0x70FE62: do_handle_one_connection(THD*) (sql_connect.cc:1253)
==10948==    by 0x70F84D: handle_one_connection (sql_connect.cc:1168)
==10948==    by 0xB9361A: pfs_spawn_thread (pfs.cc:1015)
==10948==    by 0x5895EFB: start_thread (pthread_create.c:304)
==10948== 17,304 bytes in 1 blocks are definitely lost in loss record 6 of 6
==10948==    at 0x4C28B35: operator new(unsigned long) (vg_replace_malloc.c:261)
==10948==    by 0x61008D: mysql_execute_command(THD*) (sql_parse.cc:2361)
==10948==    by 0x619A16: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_p
==10948==    by 0x60CFA1: dispatch_command(enum_server_command, THD*, char*, unsigned
==10948==    by 0x60C258: do_command(THD*) (sql_parse.cc:808)
==10948==    by 0x70FE62: do_handle_one_connection(THD*) (sql_connect.cc:1253)
==10948==    by 0x70F84D: handle_one_connection (sql_connect.cc:1168)
==10948==    by 0xB9361A: pfs_spawn_thread (pfs.cc:1015)
==10948==    by 0x5895EFB: start_thread (pthread_create.c:304)
==10948==    by 0x611959C: clone (clone.S:112)

bzr version-info

revision-id: monty@askmonty.org-20120928004505-r6ow2t0ccx5m4ead
date: 2012-09-28 03:45:05 +0300
build-date: 2012-09-28 08:28:16 +0400
revno: 3437

Test case (no need to add it to the suite, it will be a part of a bigger test):

cat suite/multi_source/memory_issue.test

--connect (slave,127.0.0.1,root,,,$SERVER_MYPORT_3)
 
call mtr.add_suppression("Connection 'master1' already exists");
 
# Start replication from the first master
 
--replace_result $SERVER_MYPORT_1 MYPORT_1
eval change master 'master1' to
master_port=$SERVER_MYPORT_1,
master_host='127.0.0.1',
master_user='root';
 
start slave 'master1';
set default_master_connection = 'master1';
--source include/wait_for_slave_to_start.inc
 
 
# Try to configure a connection with the same master
# using a different name, should get a conflict
 
--replace_result $SERVER_MYPORT_1 MYPORT_1
--error ER_MASTER_INFO
eval change master 'master2' to
master_port=$SERVER_MYPORT_1,
master_host='127.0.0.1',
master_user='root';
 



 Comments   
Comment by Michael Widenius [ 2012-09-28 ]

Found and fixed.

Generated at Thu Feb 08 06:29:41 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.