Fix bug 1603978 / 81674 (LeakSanitizer-enabled build fails to bootstr… #677
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.
…ap server for MTR)
by cherry-picking the following from 5.7:
Fix Bug#18253089 BUF_POOL->FLUSH_RBT IS CREATED WHEN RECOVERY IS NOT NEEDED,
THEN NEVER FREED
innobase_start_or_create_for_mysql() and
recv_recovery_from_checkpoint_start() calls recv_sys_create()&recv_sys_init()
but those two functions have already been called earlier in
innobase_start_or_create_for_mysql(). Those two functions return immediately
if recv_sys is created/initialized. From this follows that their invokations
from recv_recovery_from_checkpoint_start() are noops and thus I am removing
them.
from recv_sys_init(). Change this so that it is initialized directly from
recv_recovery_from_checkpoint_start(). This is the only functional change
in this patch - buf_pool->flush_rbt will now be initialized later in the
startup code path.
recv_sys_debug_free(). Change this so that the free is done from
recv_recovery_from_checkpoint_finish(), which is the only caller of
recv_sys_debug_free(). This is a noop, but made for consistency wrt where
alloc/free is done - call
buf_flush_init_flush_rbt() from recv_recovery_from_checkpoint_start() and
buf_flush_free_flush_rbt() from recv_recovery_from_checkpoint_finish().
This way the code will be restored as of before
annamalai.gurusami@oracle.com-20140210082850-vqlzadis1asdws0e (the fix of
Bug#18144349 INNODB CANNOT USE THE DOUBLEWRITE BUFFER FOR THE FIRST PAGE OF
SYSTEM TABLESPACE) wrt buf_pool->flush_rbt initialization.
Approved by: Yasufumi (rb:5409)
http://jenkins.percona.com/job/percona-server-5.6-param/1241/#showFailuresLink