| Bug #6732 | FLUSH TABLES WITH READ LOCK + COMMIT makes next FLUSH...LOCK hang forever | ||
|---|---|---|---|
| Submitted: | 20 Nov 2004 23:15 | Modified: | 30 Nov 2004 21:53 | 
| Reporter: | Guilhem Bichot | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server | Severity: | S1 (Critical) | 
| Version: | 4.0.22 | OS: | Any (all) | 
| Assigned to: | Guilhem Bichot | CPU Architecture: | Any | 
   [30 Nov 2004 21:53]
   Guilhem Bichot        
  Thank you for your bug report. This issue has been committed to our
source repository of that product and will be incorporated into the
next release.
If necessary, you can access the source repository and build the latest
available version, including the bugfix, yourself. More information 
about accessing the source trees is available at
    http://www.mysql.com/doc/en/Installing_source_tree.html
Additional info:
ChangeSet@1.2004, 2004-11-30 22:20:52+01:00, guilhem@mysql.com
 
Description: MASTER> begin; Query OK, 0 rows affected (0.00 sec) MASTER> insert into innotest1 values(1); Query OK, 1 row affected (0.50 sec) MASTER> flush tables with read lock; Query OK, 0 rows affected (0.06 sec) MASTER> commit; Query OK, 0 rows affected (0.01 sec) MASTER> Bye [guilhem 23:35 ~] mysql1 test Type 'help;' or '\h' for help. Type '\c' to clear the buffer. MASTER> flush tables with read lock; hangs... How to repeat: see how-to-repeat Suggested fix: ===== lock.cc 1.48 vs edited ===== *** /home/guilhem/tmp/bk_lock.cc-1.48_vZxmBh 2004-10-11 11:01:36 +02:00 --- edited/lock.cc 2004-11-21 00:11:38 +01:00 *************** *** 783,788 **** --- 783,790 ---- { bool tmp; DBUG_ENTER("start_waiting_global_read_lock"); + if (unlikely(thd->global_read_lock)) + DBUG_VOID_RETURN; (void) pthread_mutex_lock(&LOCK_open); tmp= (!--protect_against_global_read_lock && waiting_for_read_lock); (void) pthread_mutex_unlock(&LOCK_open);