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:
None 
Category:MySQL Server: InnoDB storage engine Severity:S4 (Feature request)
Version: OS:Any
Assigned to: Vasil Dimov

[7 Dec 2010 7:58] Calvin Sun
Description:
Currently, InnoDB has a limit of 4G on total log file size. As modern machines are faster and faster, write-heavy workloads or very long running transactions can reach a situation where InnoDB runs out of usable space in its redo log files. It is time to raise the limit.

Also, the recovery time has been improved significantly.

How to repeat:
A known limit.
[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