Bug #43940 64-bit windows myisamchk doesn't support key_buffer_size > 4G
Submitted: 29 Mar 2009 18:11 Modified: 26 Jun 2009 2:12
Reporter: Shane Bester (Platinum Quality Contributor) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: MyISAM storage engine Severity:S3 (Non-critical)
Version:5.1.32 OS:Microsoft Windows (64-bit)
Assigned to: Sergey Glukhov
Tags: MyISAMchk
Triage: Triaged: D3 (Medium)

[29 Mar 2009 18:11] Shane Bester
Description:
Since bug #39494 was fixed, 64-bit mysqld supports >4G key_buffer_size on win64, but myisamchk from same package does not:

E:\mysql-advanced-gpl-5.1.32-winx64\bin>myisamchk --key_buffer_size=4200M -e -v -v -v -i ..\data\test\t1
Warning: option 'key_buffer_size': unsigned value 4404019200 adjusted to 4294963200

How to repeat:
create a myisam table, t1, then shutdown mysqld and run myisamchk:

E:\mysql-advanced-gpl-5.1.32-winx64\bin>myisamchk --key_buffer_size=4200M -e -v -v -v -i ..\data\test\t1

Suggested fix:
allow myisamchk to use >4G key_buffer_size on win64
[29 Mar 2009 19:16] Valerii Kravchuk
Thank you for the problem report.
[20 May 2009 9:41] 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/74567

2890 Sergey Glukhov	2009-05-20
      Bug#43940 64-bit windows myisamchk doesn't support key_buffer_size > 4G
      The fix is to allow myisamchk to use >4G key_buffer_size on win64
     @ include/myisam.h
        use ulonglong instead of ulong for use_buffers
     @ storage/myisam/myisamchk.c
        use ulonglong instead of ulong for use_buffers
[27 May 2009 9:15] 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/75028

2912 Sergey Glukhov	2009-05-27
      Bug#43940 64-bit windows myisamchk doesn't support key_buffer_size > 4G
      The fix is to allow myisamchk to use >4G key_buffer_size on win64
     @ include/myisam.h
        use ulonglong instead of ulong for use_buffers
     @ storage/myisam/myisamchk.c
        use ulonglong instead of ulong for use_buffers
[28 May 2009 8:20] Bugs System
Pushed into 5.1.36 (revid:joro@sun.com-20090528073639-yohsb4q1jzg7ycws) (version source revid:sergey.glukhov@sun.com-20090527081128-okv2205vr4nkdes8) (merge vers: 5.1.36) (pib:6)
[1 Jun 2009 20:03] Paul Dubois
Noted in 5.1.36 changelog.

On 64-bit Windows systems, myisamchk did not handle key_buffer_size
values larger than 4GB.

Setting report to NDI pending push into 6.0.x.
[17 Jun 2009 19:26] Bugs System
Pushed into 5.4.4-alpha (revid:alik@sun.com-20090616183122-chjzbaa30qopdra9) (version source revid:azundris@mysql.com-20090529170733-wxq9j0idmss9rllz) (merge vers: 6.0.12-alpha) (pib:11)
[26 Jun 2009 2:12] Paul Dubois
Noted in 5.4.4 changelog.
[12 Aug 2009 22:36] Paul Dubois
Noted in 5.4.2 changelog because next 5.4 version will be 5.4.2 and not 5.4.4.
[15 Aug 2009 1:55] Paul Dubois
Ignore previous comment about 5.4.2.
[26 Aug 2009 13:46] Bugs System
Pushed into 5.1.37-ndb-7.0.8 (revid:jonas@mysql.com-20090826132541-yablppc59e3yb54l) (version source revid:jonas@mysql.com-20090826132541-yablppc59e3yb54l) (merge vers: 5.1.37-ndb-7.0.8) (pib:11)
[26 Aug 2009 13:46] Bugs System
Pushed into 5.1.37-ndb-6.3.27 (revid:jonas@mysql.com-20090826105955-bkj027t47gfbamnc) (version source revid:jonas@mysql.com-20090826105955-bkj027t47gfbamnc) (merge vers: 5.1.37-ndb-6.3.27) (pib:11)
[26 Aug 2009 13:48] Bugs System
Pushed into 5.1.37-ndb-6.2.19 (revid:jonas@mysql.com-20090825194404-37rtosk049t9koc4) (version source revid:jonas@mysql.com-20090825194404-37rtosk049t9koc4) (merge vers: 5.1.37-ndb-6.2.19) (pib:11)
[27 Aug 2009 16:33] Bugs System
Pushed into 5.1.35-ndb-7.1.0 (revid:magnus.blaudd@sun.com-20090827163030-6o3kk6r2oua159hr) (version source revid:jonas@mysql.com-20090826132541-yablppc59e3yb54l) (merge vers: 5.1.37-ndb-7.0.8) (pib:11)
[7 Oct 2009 20:27] Paul Dubois
The 5.4 fix has been pushed to 5.4.2.