Bug #70936 innochecksum.exe cannot handle >=4G files (and prints wrong error message)
Submitted: 18 Nov 2013 9:41 Modified: 11 Dec 2013 15:11
Reporter: Shane Bester (Platinum Quality Contributor) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Command-line Clients Severity:S3 (Non-critical)
Version:5.6.15 OS:Windows
Assigned to: CPU Architecture:Any

[18 Nov 2013 9:41] Shane Bester
Description:
D:\>innochecksum.exe -c ibdata1
Error: ibdata1 cannot be found

ibdata1 file is 6G in size. The file exists.
Make sure 64-bit filesize is supported on windows.
_stati64 can be used for that.

How to repeat:
innochecksum.exe -c <path to large ibdata1>
[11 Dec 2013 15:11] Daniel Price
Fixed as of 5.6.16, 5.7.4, and here's the changelog entry:

The "innochecksum" tool did not use a Windows-specific API to retrieve
file size information, which resulted in an incorrect error message
("Error: ibdata1 cannot be found") when the MySQL 5.6 "innochecksum" 2GB
file size limit was exceeded. "innochecksum" now provides support for
files larger than 2GB in both MySQL 5.6 and MySQL 5.7. 

Thank you for the bug report.
[3 Feb 2014 11:19] Laurynas Biveinis
5.6$ bzr log -r 5678
------------------------------------------------------------
revno: 5678
committer: Anil Toshniwal <anil.toshniwal@oracle.com>
branch nick: mysql-5.6
timestamp: Wed 2013-12-11 12:30:53 +0530
message:
  Bug#17810862 INNOCHECKSUM.EXE CANNOT HANDLE >=4G FILES
               (AND PRINTS WRONG ERROR MESSAGE)
  Problem:
  1) mysql-5.6 innochecksum tool don't support file larger than 2GB. 
  2) Wasn't used the Windows specific API, _stat64() to get file size, so
  was printing wrong error message.
  Solution:
  1) Fixed innochecksum to provide utility to support large file also. 
  2) Use Windows Specific API, _stat64() to get file size.   
  
  Approved by Kevin (rb#4012).