Bug #58779 | Increase the max size of redo log files | ||
---|---|---|---|
Submitted: | 7 Dec 2010 7:58 | Modified: | 9 Mar 2011 7:45 |
Reporter: | Calvin Sun | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: InnoDB storage engine | Severity: | S4 (Feature request) |
Version: | OS: | Any | |
Assigned to: | Vasil Dimov | CPU Architecture: | Any |
[7 Dec 2010 7:58]
Calvin Sun
[27 Jan 2011 13:43]
Marko Mäkelä
There seems to be a built-in limitation in InnoDB that restricts the amount of redo log that can be scanned in recovery (redo log gap) to 512 GB: /************************************************************//** Converts a lsn to a log block number. @return log block number, it is > 0 and <= 1G */ UNIV_INLINE ulint log_block_convert_lsn_to_no( /*========================*/ ib_uint64_t lsn) /*!< in: lsn of a byte within the block */ { return(((ulint) (lsn / OS_FILE_LOG_BLOCK_SIZE) & 0x3FFFFFFFUL) + 1); } OS_FILE_LOG_BLOCK_SIZE is 512 (1<<9) bytes. So, we are doing (lsn >> 9) and taking the 30 low-order bits. The redo log scan could abort too early if someone generated more than 1<<39 (512G) bytes of redo log lag.
[9 Mar 2011 7:46]
Vasil Dimov
Implemented in vasil.dimov@oracle.com-20110309073236-y25z033uyvmwtkx5
[7 Oct 2011 0:00]
John Russell
This feature is available in the 5.6 developer release: http://dev.mysql.com/doc/refman/5.6/en/innodb-redo-log-size-increase.html http://dev.mysql.com/downloads/mysql/5.6.html