Bug #39168 | ERROR: the age of the last checkpoint ... exceeds the log group capacity | ||
---|---|---|---|
Submitted: | 1 Sep 2008 19:54 | Modified: | 14 Oct 2010 13:19 |
Reporter: | Louis Breda van | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: InnoDB storage engine | Severity: | S2 (Serious) |
Version: | any | OS: | Any |
Assigned to: | Inaam Rana | CPU Architecture: | Any |
Tags: | log group capacity |
[1 Sep 2008 19:54]
Louis Breda van
[1 Sep 2008 20:00]
Valeriy Kravchuk
Thank you for a problem report. Please, send your my.ini file content and the entire error log (compressed). I think this problem is NOT related to Connector/ODBC at all.
[1 Sep 2008 21:06]
Tonci Grgin
Louis, I am monitoring this report too but, so far, I agree with Valeriy.
[2 Sep 2008 4:38]
Louis Breda van
Hello, I will send you my ini file in a few moments, sending the error log is not possible because I cleared it. Two point to consider: - the error message I mailed was the only error message after the startup messages as far as I remember. The message was repeating every few minutes. Startup message (including another long time error) below this mail - I will send the ini file in a few moments. In that file I changed the logfile setting from 54M to 128M. I did that *after* the error messages occured. I did not yet retest. In fact I the original 54M should be more than engough I think. Louis 080901 21:28:15 InnoDB: Started; log sequence number 319 105782284 080901 21:28:15 [ERROR] Incorrect definition of table mysql.event: expected column 'sql_mode' at position 14 to have type set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH'), found type set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_Z 080901 21:28:15 [ERROR] Event Scheduler: An error occurred when initializing system tables. Disabling the Event Scheduler. 080901 21:28:15 [Note] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: ready for connections. Version: '5.1.26-rc-community' socket: '' port: 3306 MySQL Community Server (GPL)
[2 Sep 2008 18:14]
Louis Breda van
Hello, I just started a test trying to reproduce the problem. No problem at all, even not with the bigger (54M => 128M) log file sizes. Below the error log starting at the moment I changed the log file sizes. However ..... it happens less frequent ! Louis 80901 21:09:53 InnoDB: Log file .\ib_logfile0 did not exist: new to be created InnoDB: Setting log file .\ib_logfile0 size to 128 MB InnoDB: Database physically writes the file full: wait... InnoDB: Progress in MB: 100 080901 21:09:55 InnoDB: Log file .\ib_logfile1 did not exist: new to be created InnoDB: Setting log file .\ib_logfile1 size to 128 MB InnoDB: Database physically writes the file full: wait... InnoDB: Progress in MB: 100 InnoDB: The log sequence number in ibdata files does not match InnoDB: the log sequence number in the ib_logfiles! 080901 21:09:57 InnoDB: Database was not shut down normally! InnoDB: Starting crash recovery. InnoDB: Reading tablespace information from the .ibd files... InnoDB: Restoring possible half-written data pages from the doublewrite InnoDB: buffer... InnoDB: Last MySQL binlog file position 0 507041448, file name .\MAIN-bin.000028 080901 21:09:59 InnoDB: Started; log sequence number 319 105782284 080901 21:09:59 [ERROR] Incorrect definition of table mysql.event: expected column 'sql_mode' at position 14 to have type set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH'), found type set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_Z 080901 21:09:59 [ERROR] Event Scheduler: An error occurred when initializing system tables. Disabling the Event Scheduler. 080901 21:09:59 [Note] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: ready for connections. Version: '5.1.26-rc-community' socket: '' port: 3306 MySQL Community Server (GPL) 080901 21:26:25 [Note] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: Normal shutdown 080901 21:26:28 [Warning] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: Forcing close of thread 4 user: 'root' 080901 21:26:28 InnoDB: Starting shutdown... 080901 21:26:30 InnoDB: Shutdown completed; log sequence number 319 105782284 080901 21:26:30 [Note] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: Shutdown complete 080901 21:28:15 InnoDB: Started; log sequence number 319 105782284 080901 21:28:15 [ERROR] Incorrect definition of table mysql.event: expected column 'sql_mode' at position 14 to have type set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH'), found type set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_Z 080901 21:28:15 [ERROR] Event Scheduler: An error occurred when initializing system tables. Disabling the Event Scheduler. 080901 21:28:15 [Note] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: ready for connections. Version: '5.1.26-rc-community' socket: '' port: 3306 MySQL Community Server (GPL) 080902 18:50:47 InnoDB: Started; log sequence number 319 105782284 080902 18:50:47 [ERROR] Incorrect definition of table mysql.event: expected column 'sql_mode' at position 14 to have type set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH'), found type set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_Z 080902 18:50:47 [ERROR] Event Scheduler: An error occurred when initializing system tables. Disabling the Event Scheduler. 080902 18:50:47 [Note] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: ready for connections. Version: '5.1.26-rc-community' socket: '' port: 3306 MySQL Community Server (GPL) 080902 19:32:57 InnoDB: ERROR: the age of the last checkpoint is 241588650, InnoDB: which exceeds the log group capacity 241588224. InnoDB: If you are using big BLOB or TEXT rows, you must set the InnoDB: combined size of log files at least 10 times bigger than the InnoDB: largest such row.
[14 Sep 2008 15:59]
Valeriy Kravchuk
Please, try to repeat with a newer version, 5.1.28, and inform about the results.
[14 Sep 2008 17:59]
Louis Breda van
Valeriy, I allready noticed and installed the new release this afternoon. And did a small test. No this problem is still there. In order to make it easier to reproduce, I did set the logfilesize back to the original 54MB. Below a part of the error log, beginning with the restart of the server, not fiding the errorlogs because I changed the errorlog file size in my.ini (from 128 back to 54), and deleted the old ones to make it work. Note that I saw the problem on my XP32 bit machine as well. Sincerely, Louis P.S. I also retested the 5.1 server <> ODBC 5.15 adapter. Just to see if 5.1.28 perhaps fixed that (probably an issue for odbc5.16). Whatever 5.1.28 <> 5.15 ODBC is still a NO GO (IMHO) 080914 19:09:18 InnoDB: Log file .\ib_logfile0 did not exist: new to be created InnoDB: Setting log file .\ib_logfile0 size to 54 MB InnoDB: Database physically writes the file full: wait... 080914 19:09:19 InnoDB: Log file .\ib_logfile1 did not exist: new to be created InnoDB: Setting log file .\ib_logfile1 size to 54 MB InnoDB: Database physically writes the file full: wait... InnoDB: The log sequence number in ibdata files does not match InnoDB: the log sequence number in the ib_logfiles! 080914 19:09:20 InnoDB: Database was not shut down normally! InnoDB: Starting crash recovery. InnoDB: Reading tablespace information from the .ibd files... InnoDB: Restoring possible half-written data pages from the doublewrite InnoDB: buffer... InnoDB: Last MySQL binlog file position 0 507041448, file name .\MAIN-bin.000028 080914 19:09:22 InnoDB: Started; log sequence number 337 3730810380 080914 19:09:22 [ERROR] Incorrect definition of table mysql.event: expected column 'sql_mode' at position 14 to have type set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH'), found type set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_Z 080914 19:09:22 [ERROR] Event Scheduler: An error occurred when initializing system tables. Disabling the Event Scheduler. 080914 19:09:22 [Note] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: ready for connections. Version: '5.1.28-rc-community' socket: '' port: 3306 MySQL Community Server (GPL) 080914 19:49:16 InnoDB: ERROR: the age of the last checkpoint is 101917918, InnoDB: which exceeds the log group capacity 101917901. InnoDB: If you are using big BLOB or TEXT rows, you must set the InnoDB: combined size of log files at least 10 times bigger than the InnoDB: largest such row. 080914 19:49:32 InnoDB: ERROR: the age of the last checkpoint is 175719142, InnoDB: which exceeds the log group capacity 101917901. InnoDB: If you are using big BLOB or TEXT rows, you must set the InnoDB: combined size of log files at least 10 times bigger than the InnoDB: largest such row. 080914 19:49:48 InnoDB: ERROR: the age of the last checkpoint is 244315541, InnoDB: which exceeds the log group capacity 101917901. InnoDB: If you are using big BLOB or TEXT rows, you must set the InnoDB: combined size of log files at least 10 times bigger than the InnoDB: largest such row. 080914 19:50:04 InnoDB: ERROR: the age of the last checkpoint is 314433931, InnoDB: which exceeds the log group capacity 101917901. InnoDB: If you are using big BLOB or TEXT rows, you must set the InnoDB: combined size of log files at least 10 times bigger than the InnoDB: largest such row.
[14 Sep 2008 18:21]
Louis Breda van
Just for info, In order to speed up things I use transactions and batch updates here and there. Because of that transactions can involve 600 rows. But 600 lines are not nearly as big as 54 MByte ! What did come into my mind, but just thinking loud, are two things: - transactions are related to a connection, I frequently have multiple mysql recordsets open via one connection - during transactions, I might be stepping through recordsets not changing any thing at all, because the record is not a record out of the recordset to be changed or because the particular record does not need to be changed. - If MySQL for some not understood reason, things that all those read and or skipped records might be changed and put them in the log ...... then 1) it is terrible for the performance 2) it might .... perhaps .... explain things ..... ???? Note that if the transaction only include records terminated with an .update this idea "loud thinking" does not make any sence at all!! Louis
[14 Sep 2008 18:43]
Louis Breda van
I think I know when the problem happens, at least when I see it happenig. Most of the time u update recordsets under control of VBA-code, but sometimes, the update is so simple that I can perform the update with an update query. And guess what, from my application loggings I see that most of the logsize errors occur during a "cn.Execute rsSetAddrStartDate" with other words, the connection / the server is updating a hole recordset outside my control :> ! And I asume now, that is sees the whole update mln-records as one big transaction ! And, not so strange, is fething all those mutations in the logfiles. If this hypothesis is true, it would explain the error. It just would raise another question: "Why does it only happen, when using named pipes??" Sincerely, Louis
[20 Jan 2009 20:33]
Valeriy Kravchuk
Please, check if you will ever have a problem like this with a newer version, 5.1.30.
[20 Jan 2009 21:39]
Louis Breda van
Valeriy, Long time ago that I had this problem, and no doubt about that. I made a work arround. But I think I remember where I had that problem, so I can look into that code and see what happens If I remove the work arround for a moment. Of course that test will surely differ a bit form the past situation. Perhaps friday or this weekend. Louis
[18 Feb 2009 13:21]
MySQL Verification Team
Hello Louis, Do you have already the new test?. Thanks in advance.
[22 Feb 2009 18:47]
Louis Breda van
Miguel, I tried to reproduce the problem by creating an large update query. No problem at all. First I did run the update query from the MySQL query browser (5.16) Then I performed the same query from MsAccess via ODBC5 (5.15) (cn_tst.Execute sqlTest, MyRecAffected, where cursor is at the client side) In both cases, I found error messages in the errorfile. In fact just as expected (see below). As written before, I think I understand the problem. IMHO the whole update is seen as one big (too big) transaction. Note that we are talking about recordsets / tables of a few milion records. So, probalby the only solution is to segmentate te recordset to smaller pieces e.g. by using the Limit statement. Sincerely, Louis PS. I did the check on a VISTA64 system running '5.1.31-community' (64 bit) having 8GB main memmory. The errorlog shows: 090222 12:50:53 InnoDB: Started; log sequence number 30 1884474248 090222 12:50:53 [Note] Event Scheduler: Loaded 0 events 090222 12:50:53 [Note] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: ready for connections. Version: '5.1.31-community' socket: '' port: 3306 MySQL Community Server (GPL) 090222 19:29:53 InnoDB: ERROR: the age of the last checkpoint is 181188731, InnoDB: which exceeds the log group capacity 181188404. InnoDB: If you are using big BLOB or TEXT rows, you must set the InnoDB: combined size of log files at least 10 times bigger than the InnoDB: largest such row. 090222 19:30:09 InnoDB: ERROR: the age of the last checkpoint is 224783929, InnoDB: which exceeds the log group capacity 181188404. InnoDB: If you are using big BLOB or TEXT rows, you must set the InnoDB: combined size of log files at least 10 times bigger than the InnoDB: largest such row. 090222 19:33:49 InnoDB: ERROR: the age of the last checkpoint is 181188699, InnoDB: which exceeds the log group capacity 181188404. InnoDB: If you are using big BLOB or TEXT rows, you must set the InnoDB: combined size of log files at least 10 times bigger than the InnoDB: largest such row. 090222 19:34:05 InnoDB: ERROR: the age of the last checkpoint is 223866030, InnoDB: which exceeds the log group capacity 181188404. InnoDB: If you are using big BLOB or TEXT rows, you must set the InnoDB: combined size of log files at least 10 times bigger than the InnoDB: largest such row.
[20 Mar 2009 15:06]
MySQL Verification Team
Thank you for the feedback. Could you please provide the table(s) create statement, sequence of queries involved and the number of rows of the tables when the update command is performed?. Thanks in advance.
[22 Mar 2009 17:03]
Louis Breda van
Miguel, I did perform the test again with my actual DB-version using latest DB 5.1.32 The query looks like this: UPDATE (SELECT first_table.SomeKey, Min(first_table.StartKey) AS MinVanStartKey From first_table GROUP BY first_table.SomeKey ) Q1 LEFT JOIN first_table ON Q1.SomeKey = first_table.SomeKey SET first_table.AddrStartDate = Q1.MinVanStartKey; Where: first_table: - SomeKey = varchar(35) and an index BTREE - StartKey = bigint(20) table Q1 is of course the result of a grouping on the same table The table does have 37 fields varchar, tynyint,int bigint and datetime (NO blogs or text etc !!!!!) The table does have 7 indexes including the PK (being int(10) The table does contain 1,7 mln rows The error log looks like: 090322 17:27:17 InnoDB: Started; log sequence number 63 4130822384 090322 17:27:17 [Note] Event Scheduler: Loaded 0 events 090322 17:27:17 [Note] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: ready for connections. Version: '5.1.32-community' socket: '' port: 3306 MySQL Community Server (GPL) 090322 17:38:20 InnoDB: ERROR: the age of the last checkpoint is 181188407, InnoDB: which exceeds the log group capacity 181188404. InnoDB: If you are using big BLOB or TEXT rows, you must set the InnoDB: combined size of log files at least 10 times bigger than the InnoDB: largest such row. 090322 17:38:36 InnoDB: ERROR: the age of the last checkpoint is 224481078, InnoDB: which exceeds the log group capacity 181188404. InnoDB: If you are using big BLOB or TEXT rows, you must set the InnoDB: combined size of log files at least 10 times bigger than the InnoDB: largest such row. I think I understand the problem, and from that I think that this is more a limitation than a fault. So I lowerd the sevirity. To by pass the problem I did some coding (half a year ago) Hope this helps. Sincerely, Louis
[8 Apr 2009 12:44]
Andrii Nikitin
From quick source code review I conclude that this error is just printed and program flow is not affected (looks data committed successfully). So, it looks this is just warning and no data corruption is expected (at least if no other errors printed), but we need feedback from developers to conclude for sure. (And this is not ERROR: but WARNING: then). Increasing log size usually eliminates such messages, but it is not always possible to increase log size 10 times bigger than largest BLOB (e.g. when BLOBs are >256M).
[29 Apr 2009 15:21]
Heikki Tuuri
1) This error print is not dangerous if the age does not exceed the total log file size 'a lot'. InnoDB keeps a safety margin of 10 % of the total log file size. 2) If the age is 'a lot' too old, then a mysqld crash may cause InnoDB to be able to recover. 3) We still do not know what causes this bug.
[4 May 2009 15:21]
Inaam Rana
Setting triage to R3 and E5.
[9 Jun 2010 15:54]
Inaam Rana
InnoDB attempts to ensure that enough redo space is available before starting a DML operation. In case there is not enough space a checkpoint is performed in a synchronous fashion i.e.: all threads wait till the checkpoint is finished. This space check and synchronous blocking is done via call to log_free_check(). There are some code paths (most notably update without secondary indexes) inside InnoDB where log_free_check() is not being called. This means that threads doing such update won't stop for a synchronous checkpoint and would keep on generating more redo. This can eventually result in InnoDB overwriting redo logs that are still needed in case of a crash. See files row/row0*.c
[21 Jun 2010 15:54]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/111710 3110 Inaam Rana 2010-06-21 Fixes bug#39168. Make a call to log_free_check() on all DML paths.
[24 Jun 2010 12:46]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/112079 3512 Inaam Rana 2010-06-24 Add ChangeLog for bug#39168
[14 Jul 2010 17:27]
Calvin Sun
The fix is committed into the InnoDB plugin in 5.1.49.
[19 Jul 2010 14:34]
Bugs System
Pushed into 5.1.49 (revid:build@mysql.com-20100719143034-omcma40sblwmay3x) (version source revid:vasil.dimov@oracle.com-20100704071244-3lo4okzels3kvy1p) (merge vers: 5.1.49) (pib:16)
[23 Jul 2010 12:22]
Bugs System
Pushed into mysql-trunk 5.5.6-m3 (revid:alik@sun.com-20100723121820-jryu2fuw3pc53q9w) (version source revid:alik@sun.com-20100723121820-jryu2fuw3pc53q9w) (merge vers: 5.5.6-m3) (pib:18)
[23 Jul 2010 12:29]
Bugs System
Pushed into mysql-next-mr (revid:alik@sun.com-20100723121929-90e9zemk3jkr2ocy) (version source revid:alik@sun.com-20100723121827-3bsh51m5sj6g4oma) (pib:18)
[4 Aug 2010 7:51]
Bugs System
Pushed into mysql-trunk 5.5.6-m3 (revid:alik@sun.com-20100731131027-1n61gseejyxsqk5d) (version source revid:marko.makela@oracle.com-20100622115215-kxtzx7xuugcxd375) (merge vers: 5.1.49) (pib:18)
[4 Aug 2010 8:06]
Bugs System
Pushed into mysql-trunk 5.6.1-m4 (revid:alik@ibmvm-20100804080001-bny5271e65xo34ig) (version source revid:marko.makela@oracle.com-20100622115215-kxtzx7xuugcxd375) (merge vers: 5.1.49) (pib:18)
[4 Aug 2010 8:21]
Bugs System
Pushed into mysql-trunk 5.6.1-m4 (revid:alik@ibmvm-20100804081533-c1d3rbipo9e8rt1s) (version source revid:marko.makela@oracle.com-20100622115215-kxtzx7xuugcxd375) (merge vers: 5.1.49) (pib:18)
[4 Aug 2010 9:02]
Bugs System
Pushed into mysql-next-mr (revid:alik@ibmvm-20100804081630-ntapn8bf9pko9vj3) (version source revid:marko.makela@oracle.com-20100622115215-kxtzx7xuugcxd375) (pib:20)
[17 Aug 2010 20:31]
John Russell
Adding to change log for 5.1, 5.5, 5.6: The mechanism that checks if there is enough space for redo logs was improved, reducing the chance of encountering this message: ERROR: the age of the last checkpoint is x, which exceeds the log group capacity y.
[14 Oct 2010 8:30]
Bugs System
Pushed into mysql-5.1-telco-7.0 5.1.51-ndb-7.0.20 (revid:martin.skold@mysql.com-20101014082627-jrmy9xbfbtrebw3c) (version source revid:martin.skold@mysql.com-20101014082627-jrmy9xbfbtrebw3c) (merge vers: 5.1.51-ndb-7.0.20) (pib:21)
[14 Oct 2010 8:46]
Bugs System
Pushed into mysql-5.1-telco-6.3 5.1.51-ndb-6.3.39 (revid:martin.skold@mysql.com-20101014083757-5qo48b86d69zjvzj) (version source revid:martin.skold@mysql.com-20101014083757-5qo48b86d69zjvzj) (merge vers: 5.1.51-ndb-6.3.39) (pib:21)
[14 Oct 2010 9:00]
Bugs System
Pushed into mysql-5.1-telco-6.2 5.1.51-ndb-6.2.19 (revid:martin.skold@mysql.com-20101014084420-y54ecj85j5we27oa) (version source revid:martin.skold@mysql.com-20101014084420-y54ecj85j5we27oa) (merge vers: 5.1.51-ndb-6.2.19) (pib:21)
[14 Oct 2010 13:19]
Jon Stephens
Already documented in the 5.1.49 changelog; no additional changelog entries required. Set back to Closed state.