Deadlock around remove_table_from_cache with HANDLER + DDL

Bug #702776 reported by Philip Stoev
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MariaDB
New
Undecided
Philip Stoev

Bug Description

maria-5.3-handler and mysql-5.1 have a tendency to deadlock if concurrent HANDLER is issued along with ALTER TABLE and logging to CSV table. mysql-5.5 is not affected.

RQG command line:

perl runall.pl --grammar=conf/engines/handler.yy --gendata=conf/engines/handler.zz --threads=1 --basedir=/home/philips/bzr/maria-5.3-handler/ --queries=100K --duration=600 --threads=10 --mysqld=--loose-lock-wait-timeout=1 --mysqld=--loose-table-lock-wait-timeout=1

This thread appears to be holding everyone else:

# 2011-01-14T10:56:34 #2 0x0876c07e in safe_cond_timedwait (cond=0x8a96f40, mp=0x8a965c0, abstime=0x915db738, file=0x88a8f70 "sql_base.cc", line=8881) at thr_mutex.c:550
# 2011-01-14T10:56:34 #3 0x082f2dc8 in remove_table_from_cache (thd=0xbd89d20, db=0xb6cfa3d8 "test", table_name=0xb6cfa3dd "table100_myisam_int_autoinc", flags=2,
# 2011-01-14T10:56:34 deleting=0 '\000') at sql_base.cc:8881
# 2011-01-14T10:56:34 #4 0x083ed0ae in wait_while_table_is_used (thd=0xbd89d20, table=0x91216ae8, function=HA_EXTRA_PREPARE_FOR_RENAME) at sql_table.cc:4319
# 2011-01-14T10:56:34 #5 0x083f5837 in mysql_alter_table (thd=0xbd89d20, new_db=0xa75cee48 "test", new_name=0xa75cebb8 "table100_myisam_int_autoinc", create_info=0x915dcaec,
# 2011-01-14T10:56:34 table_list=0xa75cec48, alter_info=0x915dcb84, order_num=0, order=0x0, ignore=false) at sql_table.cc:7603
# 2011-01-14T10:56:34 #6 0x08299197 in mysql_execute_command (thd=0xbd89d20) at sql_parse.cc:2917
# 2011-01-14T10:56:34 #7 0x082a2a8b in mysql_parse (thd=0xbd89d20, rawbuf=0xa75cead8 "ALTER TABLE `table100_myisam_int_autoinc` ENGINE = Memory", length=57,
# 2011-01-14T10:56:34 found_semicolon=0x915dd228) at sql_parse.cc:6083
# 2011-01-14T10:56:34 #8 0x08295107 in dispatch_command (command=COM_QUERY, thd=0xbd89d20, packet=0xbd904b9 "ALTER TABLE `table100_myisam_int_autoinc` ENGINE = Memory",
# 2011-01-14T10:56:34 packet_length=57) at sql_parse.cc:1211
# 2011-01-14T10:56:34 #9 0x082945b4 in do_command (thd=0xbd89d20) at sql_parse.cc:904
# 2011-01-14T10:56:34 #10 0x08291692 in handle_one_connection (arg=0xbd89d20) at sql_connect.cc:1154
# 2011-01-14T10:56:34 #11 0x00821919 in start_thread () from /lib/libpthread.so.0
# 2011-01-14T10:56:34 #12 0x0076acce in clone () from /lib/libc.so.6

no timeout option applies in this case and the deadlock is permanent and unkillable.

RQG command line:

perl runall.pl --grammar=conf/engines/handler.yy --gendata=conf/engines/handler.zz --threads=1 --basedir=/home/philips/bzr/maria-5.3-handler/ --queries=100K --duration=600 --threads=10 --mysqld=--loose-lock-wait-timeout=1 --mysqld=--loose-table-lock-wait-timeout=1

Changed in maria:
assignee: nobody → Philip Stoev (philip-stoev)
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.