List:Commits« Previous MessageNext Message »
From:vasil.dimov Date:May 4 2010 10:55am
Subject:bzr commit into mysql-trunk-innodb branch (vasil.dimov:3055)
View as plain text  
#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.dimov4 May