| Bug #74349 | Simplify the logic to choose native aio on windows | ||
|---|---|---|---|
| Submitted: | 13 Oct 2014 8:57 | Modified: | 17 Oct 2014 19:18 |
| Reporter: | Naga Satyanarayana Bodapati | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: InnoDB storage engine | Severity: | S3 (Non-critical) |
| Version: | 5.7 | OS: | Any |
| Assigned to: | CPU Architecture: | Any | |
[17 Oct 2014 19:18]
Daniel Price
Posted by developer: Fixed as of the upcoming 5.7.6 release, and here's the changelog entry: The logic used to select native AIO on Windows has been simplified. All Windows versions supported by MySQL 5.7 now support native AIO. The logic required to handle older Windows versions that do not support native AIO was no longer necessary.

Description: Currently we have the below logic to choose native aio on windows in srv0start.cc The below logic could be simplified because all the windows platforms supported by windows for 5.7 will support native aio. ifdef _WIN32 switch (os_get_os_version()) { case OS_WIN95: case OS_WIN31: case OS_WINNT: /* On Win 95, 98, ME, Win32 subsystem for Windows 3.1, and NT use simulated aio. In NT Windows provides async i/o, but when run in conjunction with InnoDB Hot Backup, it seemed to corrupt the data files. */ srv_use_native_aio = FALSE; break; case OS_WIN2000: case OS_WINXP: /* On 2000 and XP, async IO is available. */ srv_use_native_aio = TRUE; break; default: /* Vista and later have both async IO and condition variables */ srv_use_native_aio = TRUE; srv_use_native_conditions = true; break; How to repeat: Read code Suggested fix: Simplify the native aio logic on windows.