#At file:///usr/local/devel/bzrroot/server/mysql-trunk-innodb/ based on revid:vasil.dimov@stripped
3055 Vasil Dimov 2010-05-04
Merge from mysql-5.1-innodb:
------------------------------------------------------------
revno: 3433
revision-id: mmakela@stripped
parent: mmakela@stripped
committer: Marko Makela <mmakela@stripped>
branch nick: mysql-5.1-innodb
timestamp: Thu 2010-04-29 15:37:50 +0200
message:
recv_sys_init(), recv_sys_empty_hash(): Shrink recv_sys->addr_hash.
recv_addr_t: Turn space,page_no into bitfields to save space on 64-bit.
This addresses Bug #53122 in the InnoDB Plugin.
modified:
storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog
storage/innodb_plugin/include/log0recv.h 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Finclude%2Flog0recv.h
storage/innodb_plugin/log/log0recv.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Flog%2Flog0recv.c
------------------------------------------------------------
modified:
storage/innobase/include/log0recv.h
storage/innobase/log/log0recv.c
=== modified file 'storage/innobase/include/log0recv.h'
--- a/storage/innobase/include/log0recv.h 2010-03-04 10:15:07 +0000
+++ b/storage/innobase/include/log0recv.h 2010-05-04 10:54:13 +0000
@@ -368,8 +368,8 @@ typedef struct recv_addr_struct recv_add
struct recv_addr_struct{
enum recv_addr_state state;
/*!< recovery state of the page */
- ulint space; /*!< space id */
- ulint page_no;/*!< page number */
+ unsigned space:32;/*!< space id */
+ unsigned page_no:32;/*!< page number */
UT_LIST_BASE_NODE_T(recv_t)
rec_list;/*!< list of log records for this page */
hash_node_t addr_hash;/*!< hash node in the hash bucket chain */
=== modified file 'storage/innobase/log/log0recv.c'
--- a/storage/innobase/log/log0recv.c 2010-05-04 10:17:26 +0000
+++ b/storage/innobase/log/log0recv.c 2010-05-04 10:54:13 +0000
@@ -331,7 +331,7 @@ recv_sys_init(
recv_sys->len = 0;
recv_sys->recovered_offset = 0;
- recv_sys->addr_hash = hash_create(available_memory / 64);
+ recv_sys->addr_hash = hash_create(available_memory / 512);
recv_sys->n_addrs = 0;
recv_sys->apply_log_recs = FALSE;
@@ -371,7 +371,7 @@ recv_sys_empty_hash(void)
hash_table_free(recv_sys->addr_hash);
mem_heap_empty(recv_sys->heap);
- recv_sys->addr_hash = hash_create(buf_pool_get_curr_size() / 256);
+ recv_sys->addr_hash = hash_create(buf_pool_get_curr_size() / 512);
}
#ifndef UNIV_HOTBACKUP
Attachment: [text/bzr-bundle] bzr/vasil.dimov@oracle.com-20100504105413-g3d1l1nlysxbtdvo.bundle
| Thread |
|---|
| • bzr commit into mysql-trunk-innodb branch (vasil.dimov:3055) | vasil.dimov | 4 May |