Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.1.41, 10.2(EOL), 10.3(EOL), 10.4(EOL)
Description
Reduce memory usage during the recovery page.
1) innodb_gis.rtree_recovery,4k test case - Fails with the following error
[Warning] InnoDB: Difficult to find free blocks in the buffer pool (21 search iterations)! 21 failed attempts to flush a page! Consider increasing innodb_buffer_pool_size. Pending flushes (fsync) log: 0; buffer pool: 0. 577 OS file reads, 1 OS file writes, 1 OS fsyncs.
|
Buffer ran out of memory during recovery. Remove recv_n_pool_free_frames hack
2) MDEV-12699 introduces mlog_reset. Basically, it stores all init records of the page, mlog_index_load of all page and their respective LSN.
It is done to avoid I/O of mlog_init_ record pages during recovery.
Remove mlog_reset and store this information as a part of recv_addr.
Attachments
Issue Links
- blocks
-
MDEV-21351 Replace recv_sys.heap with list of buf_block_t*
-
- Closed
-
- causes
-
MDEV-21826 Recovery failure : loop of Read redo log up to LSN
-
- Closed
-
- is duplicated by
-
MDEV-20679 Mariabackup --prepare runs out of buffer_pool when --use-memory is not default
-
- Closed
-
- relates to
-
MDEV-22512 innodb_zip.recover, innodb_gis.types failed in buildbot with server failing to restart
-
- Closed
-
-
MDEV-12700 Allow innodb_read_only startup without prior slow shutdown
-
- Closed
-
-
MDEV-14425 Change the InnoDB redo log format to reduce write amplification
-
- Closed
-
I got this on 10.4:
innodb.undo_truncate_recover '2,4k,innodb,strict_crc32' [ fail ]
Test ended at 2019-08-22 13:08:44
CURRENT_TEST: innodb.undo_truncate_recover
mysqltest: In included file "./include/wait_until_connected_again.inc":
included from ./include/start_mysqld.inc at line 42:
included from /mariadb/10.4/mysql-test/suite/innodb/t/undo_truncate_recover.test at line 55:
At line 34: Server failed to restart
The cause was at the end of the server error log:
2019-08-22 13:00:20 0 [Note] InnoDB: Opened 2 undo tablespaces
2019-08-22 13:00:20 0 [Warning] InnoDB: innodb_undo_tablespaces=0 disables dedicated undo log tablespaces
2019-08-22 13:00:20 0 [Note] InnoDB: Starting crash recovery from checkpoint LSN=19044026
2019-08-22 13:00:20 0 [Note] InnoDB: Recovered page [page id: space=1, page number=1068] from the doublewrite buffer.
…
2019-08-22 13:00:20 0 [Note] InnoDB: Recovered page [page id: space=1, page number=1008] from the doublewrite buffer.
2019-08-22 13:00:20 0 [Warning] InnoDB: Difficult to find free blocks in the buffer pool (21 search iterations)! 21 failed attempts to flush a page! Consider increasing innodb_buffer_pool_size. Pending flushes (fsync) log: 0; buffer pool: 0. 1211 OS file reads, 61 OS file writes, 2 OS fsyncs.