Bug #38145 .frm file isn't sync'd with sync_frm enabled
| Submitted: | 15 Jul 2008 16:40 | Modified: | 11 Feb 2009 3:55 |
|---|---|---|---|
| Reporter: | Harrison Fisk | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server | Severity: | S3 (Non-critical) |
| Version: | 5.0.56sp1 | OS: | Any |
| Assigned to: | Chad MILLER | CPU Architecture: | Any |
[27 Oct 2008 8:18]
Georgi Kodinov
Note that this will not totally close the window described here : it will only make it shorter. But since the other function is syncing as well I think it's a good idea to be consistent.
[14 Jan 2009 18:20]
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/63262 2713 Chad MILLER 2009-01-14 Bug#38145: .frm file isn't sync'd with sync_frm enabled Views weren't sync()d the same way other structures were. In creating the FRM for views, obey the same rules for variable "sync_frm" as for everything else.
[26 Jan 2009 18:18]
Chad MILLER
Queued to 5.0-, 5.1-, and 6.0-bugteam trees.
[3 Feb 2009 9:11]
Bugs System
Pushed into 5.0.78 (revid:joro@sun.com-20090203090422-v91rh3gmx2ulhbu9) (version source revid:chad@mysql.com-20090114161511-fqre48cu99zejhji) (merge vers: 5.0.76) (pib:6)
[3 Feb 2009 9:41]
Bugs System
Pushed into 5.1.32 (revid:joro@sun.com-20090203090549-gos3v4320vimrzg6) (version source revid:chad@mysql.com-20090126152751-gvq25k7ncd4ls3ut) (merge vers: 5.1.32) (pib:6)
[4 Feb 2009 11:17]
Bugs System
Pushed into 6.0.10-alpha (revid:kostja@sun.com-20090204104420-mw1i2u9lum4bxjo6) (version source revid:chad@mysql.com-20090126183534-dfake9zw49l5drms) (merge vers: 6.0.10-alpha) (pib:6)
[11 Feb 2009 3:55]
Paul DuBois
Noted in 5.0.72, 5.1.32, 6.0.10 changelogs. Enabling the sync_frm system variable had no effect on the handling of .frm files for views.
[17 Feb 2009 14:57]
Bugs System
Pushed into 5.1.32-ndb-6.3.23 (revid:tomas.ulin@sun.com-20090217131017-6u8qz1edkjfiobef) (version source revid:tomas.ulin@sun.com-20090203133556-9rclp06ol19bmzs4) (merge vers: 5.1.32-ndb-6.3.22) (pib:6)
[17 Feb 2009 16:45]
Bugs System
Pushed into 5.1.32-ndb-6.4.3 (revid:tomas.ulin@sun.com-20090217134419-5ha6xg4dpedrbmau) (version source revid:tomas.ulin@sun.com-20090203133556-9rclp06ol19bmzs4) (merge vers: 5.1.32-ndb-6.3.22) (pib:6)
[17 Feb 2009 18:21]
Bugs System
Pushed into 5.1.32-ndb-6.2.17 (revid:tomas.ulin@sun.com-20090217134216-5699eq74ws4oxa0j) (version source revid:tomas.ulin@sun.com-20090202111723-1zzwax187rtls913) (merge vers: 5.1.32-ndb-6.2.17) (pib:6)
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.044 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.
Description: When a non-temporary table is created, the FRM file is my_sync'd to disk based on the sync_frm parameter. View FRM files are created via a different function which does not sync the file to disk. In the event of a power outage immediately after the view is created, the FRM file contents might not be on disk, and can result in the error: Incorrect information in file: './db/view.frm' How to repeat: 1. Create a view 2. Immediately do a system crash afterwords 3. Restart the system 4. Get the above error Suggested fix: The sql_create_definition_file function in parse_file.cc should add a check to the sync_frm system variable and call my_sync based on that. The check in mysql_create_frm in unireg.cc can be used as a basis: if (opt_sync_frm && !(create_info->options & HA_LEX_CREATE_TMP_TABLE) && my_sync(file, MYF(MY_WME))) goto err2;