Server hangs on updating an XtraDB table after FLUSH TABLES WITH READ LOCK AND DISABLE CHECKPOINT
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| MariaDB |
Fix Released
|
Medium
|
Michael Widenius | ||
Bug Description
The following sequence of commands
FLUSH TABLES WITH READ LOCK AND DISABLE CHECKPOINT;
UNLOCK TABLES;
CREATE TABLE t1 ( m MEDIUMTEXT ) ENGINE=InnoDB;
INSERT INTO t1 VALUES ( REPEAT('i',1048576) );
makes server to hang, seemingly forever, when it's run with XtraDB (but not with InnoDB plugin).
The above 4 statements are the full test case.
bzr version-info
revision-id: <email address hidden>
date: 2012-05-04 17:22:40 +0200
build-date: 2012-05-05 00:36:39 +0300
revno: 3397
Stack traces of the threads that are doing something (although maybe they are irrelevant to the problem):
Thread 5 (Thread 0x7f8b23b3e710 (LWP 30444)):
#0 0x00007f8b34faa39c in pthread_
#1 0x000000000115fcf2 in safe_cond_wait (cond=0x3112240, mp=0x3112190,
file=0x13a0838 "storage/
at mysys/thr_
#2 0x0000000001067326 in os_cond_wait (cond=0x3112240, mutex=0x3112190)
at storage/
#3 0x00000000010680ff in os_event_wait_low (event=0x3112190, reset_sig_count=1)
at storage/
#4 0x0000000000e8659b in sync_array_
at storage/
#5 0x0000000000e88d95 in rw_lock_s_lock_spin (lock=0x7f8b28d
file_
at storage/
#6 0x0000000000f45444 in rw_lock_s_lock_func (lock=0x7f8b28d
file_
at storage/
#7 0x0000000000f45700 in pfs_rw_
file_
at storage/
#8 0x0000000000f4ce6a in buf_flush_page (buf_pool=
at storage/
#9 0x0000000000f4d583 in buf_flush_
n_to_flush=200) at storage/
#10 0x0000000000f4da83 in buf_flush_
n_to_flush=200, count=0x7f8b23b
#11 0x0000000000f4e16c in buf_flush_
lsn_
#12 0x0000000000f4e341 in buf_flush_batch (buf_pool=
lsn_
#13 0x0000000000f4ed9d in buf_flush_list (min_n=200, lsn_limit=
at storage/
#14 0x0000000000e7c1f7 in srv_master_thread (arg=0x0)
at storage/
#15 0x00007f8b34fa5a4f in start_thread () from /lib64/
#16 0x00007f8b33d3a82d in clone () from /lib64/libc.so.6
Thread 2 (Thread 0x7f8b22af4710 (LWP 30454)):
#0 0x00007f8b34faa39c in pthread_
#1 0x000000000115fcf2 in safe_cond_wait (cond=0x3258750, mp=0x32586a0,
file=0x13a0838 "storage/
at mysys/thr_
#2 0x0000000001067326 in os_cond_wait (cond=0x3258750, mutex=0x32586a0)
at storage/
#3 0x00000000010680ff in os_event_wait_low (event=0x32586a0, reset_sig_count=3)
at storage/
#4 0x0000000000e8659b in sync_array_
at storage/
#5 0x0000000000e88d95 in rw_lock_s_lock_spin (lock=0x3155b88, pass=0,
file_
at storage/
#6 0x0000000001036836 in rw_lock_s_lock_func (lock=0x3155b88, pass=0,
file_
at storage/
#7 0x0000000001037006 in pfs_rw_
file_
at storage/
#8 0x000000000103d556 in log_checkpoint (sync=1, write_always=1, safe_to_ignore=0)
at storage/
#9 0x00000000010382d0 in log_fsp_
at storage/
#10 0x0000000000fd3acf in fsp_fill_free_list (init_space=0, space=0, header=
mtr=
#11 0x0000000000fd41f0 in fsp_alloc_
at storage/
#12 0x0000000000fd44da in fsp_alloc_free_page (space=0, zip_size=0, hint=0, mtr=0x7f8b22af1da0)
at storage/
#13 0x0000000000fd936b in fseg_alloc_
direction=113 'q', mtr=0x7f8b22af1da0) at storage/
#14 0x0000000000fd9c53 in fseg_alloc_
direction=113 'q', has_done_
at storage/
#15 0x0000000000ee3e81 in btr_page_alloc (index=0x32e6038, hint_page_no=320, file_direction=113 'q', level=0,
mtr=
#16 0x0000000000f0f537 in btr_store_
rec=
big_
#17 0x00000000010cbf66 in row_ins_
thr=0x3366638) at storage/
#18 0x00000000010cc14c in row_ins_index_entry (index=0x32e6038, entry=0x32c9ac8, n_ext=0, foreign=1,
thr=0x3366638) at storage/
#19 0x00000000010cc740 in row_ins_
at storage/
#20 0x00000000010ccc8b in row_ins (node=0x3366410, thr=0x3366638)
at storage/
#21 0x00000000010cd1bb in row_ins_step (thr=0x3366638)
at storage/
#22 0x0000000000e2ea49 in row_insert_
at storage/
#23 0x0000000000de751c in ha_innobase:
at storage/
#24 0x0000000000967bc3 in handler:
at sql/handler.cc:5064
#25 0x00000000006776af in write_record (thd=0x3290da0, table=0x32dfdb0, info=0x7f8b22af
at sql/sql_
#26 0x0000000000673eb3 in mysql_insert (thd=0x3290da0, table_list=
update_
at sql/sql_
#27 0x00000000006a42ab in mysql_execute_
#28 0x00000000006b1305 in mysql_parse (thd=0x3290da0,
rawbuf=
at sql/sql_
#29 0x000000000069cd8e in dispatch_command (command=COM_QUERY, thd=0x3290da0,
packet=
at sql/sql_
#30 0x000000000069b8be in do_command (thd=0x3290da0) at sql/sql_
#31 0x000000000083309d in do_handle_
at sql/sql_
#32 0x00000000008328aa in handle_
at sql/sql_
#33 0x0000000000dd126e in pfs_spawn_thread (arg=0x34e29f0)
at storage/
#34 0x00007f8b34fa5a4f in start_thread () from /lib64/
#35 0x00007f8b33d3a82d in clone () from /lib64/libc.so.6
| tags: | added: xtradb |
| tags: | removed: xtradb |

Also filed in JIRA as https:/ /mariadb. atlassian. net/browse/ MDEV-254