| 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
