MDEV-30047 innodb.insert_into_empty fails to delete bulk_store
InnoDB fails to remove bulk store when InnoDB bulk insert does partial rollback on multiple tables. This memory leak was revealed by a test case that was added in commit 505da21e (MDEV-27214). trx_t::bulk_rollback(): Delete the bulk_store. After this function finishes execution, trx_t::is_bulk_insert() will not hold and therefore trx_t::commit_cleanup() will not free the memory. Alternatively, we could define trx_mod_table_time_t::~trx_mod_table_time_t() { delete bulk_store; } but that would likely introduce a performance regression for the common transaction commit. Bulk insert is rarely used. This fix was developed by Thirunarayanan Balathandayuthapani.
Showing
Please register or sign in to comment