← Back to team overview

maria-developers team mailing list archive

Progress (by Sanja): Backport key cache to 5.0 (52)

 

-----------------------------------------------------------------------
                              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)