Bug #43940 64-bit windows myisamchk doesn't support key_buffer_size > 4G
Submitted: 29 Mar 20:11 Modified: 26 Jun 4:12
Reporter: Shane Bester
Status: Closed
Category:Server: MyISAM Severity:S3 (Non-critical)
Version:5.1.32 OS:Microsoft Windows (64-bit)
Assigned to: Sergey Gluhov Target Version:5.1+
Tags: MyISAMchk
Triage: Triaged: D3 (Medium)

[29 Mar 20: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 21:16] Valeriy Kravchuk
Thank you for the problem report.
[20 May 11: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 11: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 10: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 22: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 21: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 4:12] Paul DuBois
Noted in 5.4.4 changelog.
[13 Aug 0: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 3:55] Paul DuBois
Ignore previous comment about 5.4.2.
[26 Aug 15: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 15: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 15: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 18: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 22:27] Paul DuBois
The 5.4 fix has been pushed to 5.4.2.