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
-
Activity
Field | Original Value | New Value |
---|---|---|
Status | Open [ 1 ] | Confirmed [ 10101 ] |
Description |
Reduce memory usage during the recovery page.
1) *innodb_gis.rtree_recovery,4k* test case - Fails with the following error {code} [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. {code} Buffer ran out of memory during recovery. Remove *recv_n_pool_free_frames* hack 2) * I/O. Remove mlog_reset and store this information as a part of recv_addr. |
Reduce memory usage during the recovery page.
1) *innodb_gis.rtree_recovery,4k* test case - Fails with the following error {code} [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. {code} Buffer ran out of memory during recovery. Remove *recv_n_pool_free_frames* hack 2) * 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. |
Labels | affects-tests |
Link |
This issue relates to |
Link |
This issue relates to |
Link |
This issue relates to |
Attachment | 0001-WIP-Remove-recv_sys.buf.patch [ 49347 ] |
Attachment | 0001-WIP-Remove-recv_sys.buf.patch [ 49347 ] |
Attachment | 0001-WIP-Remove-recv_sys.buf.patch [ 49348 ] |
Affects Version/s | 10.1.41 [ 23406 ] |
Status | Confirmed [ 10101 ] | In Progress [ 3 ] |
Fix Version/s | 10.2.31 [ 24017 ] | |
Fix Version/s | 10.3.22 [ 24018 ] | |
Fix Version/s | 10.4.12 [ 24019 ] | |
Fix Version/s | 10.5.1 [ 24029 ] | |
Fix Version/s | 10.2 [ 14601 ] | |
Fix Version/s | 10.3 [ 22126 ] | |
Fix Version/s | 10.4 [ 22408 ] | |
Summary | Reduce the memory usage during recovery | Do not run out of InnoDB buffer pool during recovery |
Resolution | Fixed [ 1 ] | |
Status | In Progress [ 3 ] | Closed [ 6 ] |
Link |
This issue blocks |
Link |
This issue relates to |
Link |
This issue is duplicated by |
Link |
This issue relates to |
Link |
This issue causes |
Link |
This issue relates to |
Link |
This issue relates to |
Labels | affects-tests | ServiceNow affects-tests |
Labels | ServiceNow affects-tests | 76qDvLB8Gju6Hs7nk3VY3EX42G795W5z affects-tests |
Labels | 76qDvLB8Gju6Hs7nk3VY3EX42G795W5z affects-tests | affects-tests |
Workflow | MariaDB v3 [ 94254 ] | MariaDB v4 [ 156035 ] |
Zendesk Related Tickets | 201658 | |
Zendesk active tickets | 201658 |
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.