Bug #36123 Selecting from mysql.ndb_apply_status leads to failure
Submitted: 16 Apr 2008 9:41 Modified: 9 May 2008 19:17
Reporter: Jonas Oreland Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Replication Severity:S1 (Critical)
Version:5.1 OS:Any
Assigned to: Magnus Blåudd CPU Architecture:Any

[16 Apr 2008 9:41] Jonas Oreland
Description:
.

How to repeat:
.

Suggested fix:
.
[18 Apr 2008 8:38] Jonas Oreland
1) start cluster + mysqld
2) stop cluster + mysqld
3) start cluster --initial
4) start (before starting mysqld) in background
while true; do mysql -uroot mysql "select * from ndb_apply_status"; done
5) start mysqld

ndb_apply_status will not be created in cluster *ever*

---

Maybe testcase can be reduced

(this operation is done as part of master/slave switchover by customer)
work-around: is to wait some until start using ndb_apply_status
             or add flush tables to while-loop
[6 May 2008 8:57] Magnus Blåudd
The function 'ndbcluster_create_ndb_apply_status_table' will delete the .frm file just before it runs the "CREATE TABLE IF NO EXISTS mysql.ndb_apply_status..." query. This triggers the code in sql_table.cc where table is in cache but does not exist on disk.
[8 May 2008 11:17] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/46503

ChangeSet@1.2588, 2008-05-08 13:17:35+02:00, msvensson@pilot.(none) +1 -0
  Bug#36123 Selecting from mysql.ndb_apply_status leads to failure
   - Throw table out of table def cache after open from table def cache
  failed because of lost connection to engine
[9 May 2008 9:42] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/46556

ChangeSet@1.2588, 2008-05-09 11:42:18+02:00, msvensson@pilot.(none) +5 -0
  Bug#36123 Selecting from mysql.ndb_apply_status leads to failure
  - When an old .frm file exists on disk and is removed, we must also
    remove the table from table defintion cache with a FLUSH TABLE
[9 May 2008 10:25] Magnus Blåudd
Pushed to 5.1-telco-6.2 and 5.1-telco-6.3
[9 May 2008 10:47] Bugs System
Pushed into 5.1.24-ndb-6.2.14
[9 May 2008 10:47] Bugs System
Pushed into 5.1.24-ndb-6.3.13
[9 May 2008 17:59] Bugs System
Pushed into 5.1.23-ndb-6.4.0
[9 May 2008 19:17] Jon Stephens
Documented bugfix as follows in the 5.1.24-ndb-6.2.16 and 5.1.24-ndb-6.3.14 changelogs:

        Performing SELECT ... FROM mysql.ndb_apply_status before the mysqld
        process had connected to the cluster failed, and caused this table 
        never to be created.
[20 May 2008 9:24] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/46856

ChangeSet@1.2602, 2008-05-20 11:23:51+02:00, msvensson@pilot.(none) +1 -0
  Bug#36123 Selecting from mysql.ndb_apply_status leads to failure
   - Fix testcase
[20 May 2008 10:05] Bugs System
Pushed into 5.1.24-ndb-6.3.15
[20 May 2008 10:18] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/46859

ChangeSet@1.2597, 2008-05-20 12:18:38+02:00, msvensson@pilot.(none) +1 -0
  Bug#36123 Selecting from mysql.ndb_apply_status leads to failure
   - Fix testcase
[20 May 2008 10:34] Bugs System
Pushed into 5.1.24-ndb-6.2.16
[20 May 2008 12:58] Bugs System
Pushed into 5.1.23-ndb-6.4.0
[21 May 2008 19:16] Bugs System
Pushed into 5.1.24-ndb-6.3.15
[12 Dec 2008 23:26] Bugs System
Pushed into 6.0.6-alpha  (revid:sp1r-msvensson@pilot.(none)-20080520101838-22301) (version source revid:jonas@mysql.com-20080808094047-4e1yiarqa2t3opg3) (pib:5)