List:Commits« Previous MessageNext Message »
From:kevin.lewis Date:August 2 2012 7:26pm
Subject:bzr push into mysql-5.6 branch (kevin.lewis:4099 to 4100) Bug#14315223
View as plain text  
 4100 kevin.lewis@stripped	2012-08-02
      Bug#14315223 - INNODB ASSERT IN TRX0RSEG.CC FOR MYSQL_INSTALL_DB
      
      The assert in this bug happens because ibdata1 was initialized like this;
      
         innodb_data_file_path=ibdata1:10M:autoextend:max:10M
      
      InnoDB asserts when there is not enough space in the system tablespace to
      allocate all pages needed at bootstrap. A maximum size of 10 Mb works in
      5.1 because the initial requires size of ibdata1 was less than 10M.
      But in 5.5, a change was made to allocate all 128 rollback segments at
      bootstrap.  Since then, the initial size has been 10M + the default
      autoextend size of 8M.  If we were to make the default initial size of
      ibdata1 to be just 11M instead of 10M, it would not autoextend during
      bootstrap and the initial size of each ibdata1 file would be 11M.
      This patch simply changes it to 12M to make room for a few small tables
      before it does the first autoextend.  This will help MTR run faster.
      
      In 5.6, worklog 6216 changes the autoextend size from 8M to 64M.
      This changes the initial size of ibdata1 from 18M in 5.5 and earlier
      releases of 5.6 to 74M in the current mysql-5.6 and mysql-trunk.
      So this change is especially needed in 5.6.
      
      This patch does not fix the possibility of the assert in this bug.
      But it makes it less likely that someone would use a senseless startup
      setting like that by declaring a more appropriate initial size for the
      system tablespace.
      
      RB:1173 approved by Sunny and also reviewed by Jimmy.

    modified:
      storage/innobase/handler/ha_innodb.cc
 4099 Inaam Rana	2012-08-02
      Bug#13029546 CREATION OF BIG INNODB_LOG_FILE TAKES TOO LONG
      
      rb://1170
      approved by: Jimmy Yang
      
      The bug title is a little misleading. The creation of redo log file
      does not take longer than expected. This patch is to direct io when
      creating the files to avoid polluting kernel buffers and any unintended
      delays because of swapping etc.

    modified:
      storage/innobase/srv/srv0start.cc
=== modified file 'storage/innobase/handler/ha_innodb.cc'
--- a/storage/innobase/handler/ha_innodb.cc	revid:inaam.rana@stripped
+++ b/storage/innobase/handler/ha_innodb.cc	revid:kevin.lewis@stripped
@@ -2848,12 +2848,12 @@ innobase_init(
 	srv_data_home = (innobase_data_home_dir ? innobase_data_home_dir :
 			 default_path);
 
-	/* Set default InnoDB data file size to 10 MB and let it be
+	/* Set default InnoDB data file size to 12 MB and let it be
 	auto-extending. Thus users can use InnoDB in >= 4.0 without having
 	to specify any startup options. */
 
 	if (!innobase_data_file_path) {
-		innobase_data_file_path = (char*) "ibdata1:10M:autoextend";
+		innobase_data_file_path = (char*) "ibdata1:12M:autoextend";
 	}
 
 	/* Since InnoDB edits the argument in the next call, we make another

No bundle (reason: useless for push emails).
Thread
bzr push into mysql-5.6 branch (kevin.lewis:4099 to 4100) Bug#14315223kevin.lewis3 Aug