MDEV-38595: Simplify InnoDB doublewrite buffer creation #4554
+35
−66
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
buf_dblwr_t::create(): Create the doublewrite buffer in a single atomic mini-transaction. Do not write any log records for initializing any doublewrite buffer pages, in order to avoid recovery failure withinnodb_log_archive=ON(#4405) starting from the very beginning.The
mtr.commit()inbuf_dblwr_t::create()was observed to comprise 295mtr_t::m_memoentries: 1 entry for thefil_system.sys_spaceand the rest split between page 5 (TRX_SYS) and page 0 (allocation metadata). We are nowhere near thesux_lock::RECURSIVE_MAXlimit of 65535 per page descriptor.