Browse Source

Bug #24711351 64 BIT WINDOWS MYSQLD BUILD REPORTS INNODB: OPERATING SYSTEM ERROR NUMBER 995

Description
===========
Under heavy load, the aysnchronous Windows file IO API can return a
failure code that is handled in MySQL Server by retrying the file IO operation.

A cast necessary for the correct operation of the retry path in a 64 bit
build is missing, leading to the file IO retry result being misinterpreted
and ultimately the report of the OS error number 995
(ERROR_OPERATION_ABORTED) in the MySQL error log.

Fix
===
Supply the missing cast.

Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
RB: 14109
pull/367/head
Daniel Blanchard 9 years ago
committed by Marko Mäkelä
parent
commit
32f99b288b
  1. 3
      storage/innobase/os/os0file.cc

3
storage/innobase/os/os0file.cc

@ -3496,7 +3496,8 @@ SyncFileIO::execute(Slot* slot)
/* Wait for async io to complete */
ret = GetOverlappedResult(slot->file, &slot->control, &slot->n_bytes, TRUE);
}
return(ret ? slot->n_bytes : -1);
return(ret ? static_cast<ssize_t>(slot->n_bytes) : -1);
}
/* Startup/shutdown */

Loading…
Cancel
Save