----------------------------------------------------------------------- WORKLOG TASK -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- TASK...........: Backport key cache to 5.0 CREATION DATE..: Thu, 27 Aug 2009, 09:54 SUPERVISOR.....: Monty IMPLEMENTOR....: Monty COPIES TO......: Sanja CATEGORY.......: Server-Sprint TASK ID........: 52 (http://askmonty.org/worklog/?tid=52) VERSION........: Server-5.0 STATUS.........: Assigned PRIORITY.......: 60 WORKED HOURS...: 9 ESTIMATE.......: 0 (hours remain) ORIG. ESTIMATE.: 8 PROGRESS NOTES: -=-=(Sanja - Tue, 01 Sep 2009, 15:18)=-=- testing Monty's patch Worked 3 hours and estimate 0 hours remain (original estimate increased by 1 hour). -=-=(Guest - Fri, 28 Aug 2009, 10:55)=-=- Low Level Design modified. --- /tmp/wklog.52.old.16945 2009-08-28 10:55:40.000000000 +0300 +++ /tmp/wklog.52.new.16945 2009-08-28 10:55:40.000000000 +0300 @@ -1 +1,22 @@ -Just copy files (mf_keycache.c & key=cache.h) and fix what should be fixed. +Here is instructions of how to repeat this if needed: + +- Copy the following files from the latest MySQL 5.1 to MySQL 5.0: + +include/keycache.h +include/my_bit.h +mysys/mf_keycache.c +mysys/mf_keycaches.c +mysys/my_bit.c + +Apply the following change in mysys/mf_keycaches.c +81c81 +< static uchar *safe_hash_entry_get(SAFE_HASH_ENTRY *entry, size_t *length, +--- +> static uchar *safe_hash_entry_get(SAFE_HASH_ENTRY *entry, uint *length, + +recompile everything. + +Simple test to verify that this is working: +cd mysql-test +mysql-test-run --valgrind key_cache +(the --valgrind argument can be left out if you don't have valgrind installed) -=-=(Guest - Thu, 27 Aug 2009, 21:52)=-=- - Planning code (Email dicussions & discussions with Sanja): 2 hours. - Backport of code (2 hours). Notice that mysys/mf_keycaches.c::safe_hash_entry_get() is different from the code in MySQL 5.1 - Testing code with mysql-test-run (especially running the key_cache.test with valgrind) - Tested the server with sql-bench Worked 6 hours and estimate 2 hours remain (original estimate unchanged). -=-=(Sanja - Thu, 27 Aug 2009, 09:56)=-=- High-Level Specification modified. --- /tmp/wklog.52.old.20094 2009-08-27 09:56:05.000000000 +0300 +++ /tmp/wklog.52.new.20094 2009-08-27 09:56:05.000000000 +0300 @@ -1 +1 @@ - +Backport keycache to 5.0 -=-=(Sanja - Thu, 27 Aug 2009, 09:55)=-=- Low Level Design modified. --- /tmp/wklog.52.old.20035 2009-08-27 09:55:25.000000000 +0300 +++ /tmp/wklog.52.new.20035 2009-08-27 09:55:25.000000000 +0300 @@ -1 +1 @@ - +Just copy files (mf_keycache.c & key=cache.h) and fix what should be fixed. DESCRIPTION: Backport keycache to bring bugfixes made in 5.1. HIGH-LEVEL SPECIFICATION: Backport keycache to 5.0 LOW-LEVEL DESIGN: Here is instructions of how to repeat this if needed: - Copy the following files from the latest MySQL 5.1 to MySQL 5.0: include/keycache.h include/my_bit.h mysys/mf_keycache.c mysys/mf_keycaches.c mysys/my_bit.c Apply the following change in mysys/mf_keycaches.c 81c81 < static uchar *safe_hash_entry_get(SAFE_HASH_ENTRY *entry, size_t *length, ---
static uchar *safe_hash_entry_get(SAFE_HASH_ENTRY *entry, uint *length,
recompile everything. Simple test to verify that this is working: cd mysql-test mysql-test-run --valgrind key_cache (the --valgrind argument can be left out if you don't have valgrind installed) ESTIMATED WORK TIME ESTIMATED COMPLETION DATE ----------------------------------------------------------------------- WorkLog (v3.5.9)