max value for innodb_use_purge_threads should be less than 64

Bug #755017 reported by Mark Callaghan
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona Server moved to https://jira.percona.com/projects/PS
Fix Released
Undecided
Laurynas Biveinis

Bug Description

The innodb_purge_thread patch accepts a value up to 64 for the innodb_use_purge_thread variable. mtr --suite=innodb_plugin crashes quickly when it is set to 60 with the error:
110408 23:08:43 InnoDB: Assertion failure in thread 139699818366720 in file ./include/trx0roll.ic line 37
InnoDB: Failing assertion: n < arr->n_cells

And the stack is:

(gdb) where
#0 0x00007ffff6861ba5 in raise (sig=<value optimized out>)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x00007ffff68656b0 in abort () at abort.c:92
#2 0x000000000093d264 in trx_undo_arr_get_nth_info (arr=0x1a0e738, n=32)
    at ./include/trx0roll.ic:37
#3 0x0000000000937315 in trx_purge_arr_store_info (trx_no=784, undo_no=21)
    at trx/trx0purge.c:99
#4 0x000000000093981c in trx_purge_fetch_next_rec (roll_ptr=0x7fffdd501d38,
    cell=0x1a1f430, heap=0x1a1f8e0) at trx/trx0purge.c:1075
#5 0x00000000009194ee in row_purge (node=0x1a1f3e8, thr=0x1a1f248)
    at row/row0purge.c:623
#6 0x00000000009196d4 in row_purge_step (thr=0x1a1f248) at row/row0purge.c:700
#7 0x00000000008fd48f in que_thr_step (thr=0x1a1f248) at que/que0que.c:1248
#8 0x00000000008fd68f in que_run_threads_low (thr=0x1a1f248)
    at que/que0que.c:1306
#9 0x00000000008fd7a3 in que_run_threads (thr=0x1a1f248) at que/que0que.c:1343
#10 0x0000000000939dc6 in trx_purge_worker (worker_id=16)
    at trx/trx0purge.c:1248
#11 0x000000000092ea05 in srv_purge_worker_thread (arg=0x109bf88)
    at srv/srv0srv.c:3580
#12 0x00007ffff7bc6971 in start_thread (arg=<value optimized out>)
    at pthread_create.c:304

The number of cells in arr is UNIV_MAX_PARALLELISM, so the max value for innodb_use_purge_threads should be UNIV_MAX_PARALLELISM

Related branches

Changed in percona-server:
assignee: nobody → Laurynas Biveinis (laurynas-biveinis)
Changed in percona-server:
status: New → In Progress
Changed in percona-server:
status: In Progress → Fix Committed
Changed in percona-server:
status: Fix Committed → Fix Released
Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PS-2622

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.