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#14315223 | kevin.lewis | 3 Aug |