Percona XtraDB Storage Engine for MySQL

srv_table_reserve_slot() should be protected by kernel_mutex

Reported by Yasufumi Kinoshita on 2010-01-18
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona-XtraDB
Fix Released
High
Unassigned

Bug Description

srv_table_reserve_slot() should be protected by kernel_mutex.

To be fixed as reported by Kristian,

=== modified file 'storage/xtradb/srv/srv0srv.c'
--- storage/xtradb/srv/srv0srv.c 2010-01-15 15:58:25 +0000
+++ storage/xtradb/srv/srv0srv.c 2010-01-15 19:12:49 +0000
@@ -2559,10 +2559,9 @@ srv_master_thread(
  srv_main_thread_process_no = os_proc_get_number();
  srv_main_thread_id = os_thread_pf(os_thread_get_curr_id());

- srv_table_reserve_slot(SRV_MASTER);
-
  mutex_enter(&kernel_mutex);

+ srv_table_reserve_slot(SRV_MASTER);
  srv_n_threads_active[SRV_MASTER]++;

  mutex_exit(&kernel_mutex);
@@ -3167,8 +3166,8 @@ srv_purge_thread(
   os_thread_pf(os_thread_get_curr_id()));
 #endif

- srv_table_reserve_slot(SRV_PURGE);
  mutex_enter(&kernel_mutex);
+ srv_table_reserve_slot(SRV_PURGE);
  srv_n_threads_active[SRV_PURGE]++;
  mutex_exit(&kernel_mutex);

@@ -3255,8 +3254,8 @@ srv_purge_worker_thread(
  fprintf(stderr, "Purge worker thread starts, id %lu\n",
   os_thread_pf(os_thread_get_curr_id()));
 #endif
- srv_table_reserve_slot(SRV_PURGE_WORKER);
  mutex_enter(&kernel_mutex);
+ srv_table_reserve_slot(SRV_PURGE_WORKER);
  srv_n_threads_active[SRV_PURGE_WORKER]++;
  mutex_exit(&kernel_mutex);

Changed in percona-xtradb:
status: New → Confirmed
importance: Undecided → High
assignee: nobody → Yasufumi Kinoshita (yasufumi-kinoshita)
Changed in percona-xtradb:
status: Confirmed → Fix Committed
Stewart Smith (stewart) wrote :

All development of XtraDB has moved under the Percona Server project - https://launchpad.net/percona-server - If this bug can be reproduced against current Percona Server, please file this bug against percona-server (you can simply do so by using the "Also affects project" link above).

Thanks,
Stewart Smith
Director of Server Development
Percona.

Changed in percona-xtradb:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers