Bug #46709 MEM on Windows suggests undocumented value for innodb_flush_method
Submitted: 13 Aug 2009 21:46 Modified: 18 Sep 2009 16:34
Reporter: Ben Krug Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Enterprise Monitor: Advisors/Rules Severity:S3 (Non-critical)
Version:2.1 OS:Microsoft Windows
Assigned to: Andy Bang CPU Architecture:Any

[13 Aug 2009 21:46] Ben Krug
Description:
MEM 2.1 advisors for Windows suggest using innodb_flush_method=unbuffered, which is an undocumented value.  Presumably documented values should be suggested.

According to the manual, at http://dev.mysql.com/doc/refman/5.1/en/innodb-parameters.html#sysvar_innodb_flush_method , we have:

"This variable is relevant only for Unix. On Windows, the flush method is always async_unbuffered and cannot be changed."

However the MEM advisors suggest using "unbuffered" - an undocumented value (that does appear in the source code).

This is the message from the advisor:

WARNING Alert - Incorrect InnoDB Flush Method On Windows   (v 1.3 *)
Server
Farmers Production - HOT
Time
Jul 27, 2009 8:11:59 PM (15 days, 18 hours ago)
Status
Open
Advice
Add innodb_flush_method=unbuffered to your my.ini file and restart your MySQL server.
Recommended Action
None specified.
Notifications
No notifications set.

Thresholds
Critical Alert = no threshold set
Warning Alert = "unbuffered"
Info Alert = no threshold set
Frequency
06:00
Expression
(%have_innodb% == "YES") && ((%version_compile_os% == "Win32") || (%version_compile_os% == "Win64")) && (%innodb_file_per_table% == "ON") && (%innodb_flush_method% != THRESHOLD)
Evaluated Expression
("YES" == "YES") && (("Win64" == "Win32") || ("Win64" == "Win64")) && ("ON" == "ON") && ("" != "unbuffered")

How to repeat:
install MEM on Windows

Suggested fix:
suggest documented values.  (Or update the docs?)
[18 Aug 2009 17:37] Enterprise Tools JIRA Robot
Andy Bang writes: 
Pushed up to revision 301.

It turns out that using innodb_flush_method=unbuffered *is* documented, but it's only relevant to version 4.1, and in particular to 4.1.9. I have updated the expression to check for version 4.1.9 and I have updated the more info links to point to the relevant sections of the 4.1 manual.
[24 Aug 2009 22:45] Enterprise Tools JIRA Robot
Keith Russell writes: 
Patch installed in versions => 2.1.0.1096.
[25 Aug 2009 16:15] Enterprise Tools JIRA Robot
Marcos Palacios writes: 
Verified fixed in advisor bundle 2.1.0.1096.
[18 Sep 2009 16:34] Tony Bedford
An entry was added to the 2.1.0 changelog:

MySQL Enterprise Monitor 2.1 advisors for Windows suggested using innodb_flush_method=unbuffered, which is an undocumented value. Only documented values should have been recommended.