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 505da21e33 (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.