-
Debarun Banerjee authored
Problem : --------- While selecting from INFORMATION_SCHEMA.INNODB_CMPMEM with option big-tables=1, the fetched rows are filled into temp table by the sql function schema_table_store_record(). Innodb i_s_cmpmem_fill_low() calls the record store callback while holding buf_pool_mutex. The issue started occurring when we started to use InnoDB intrinsic table to store the records instead of heap engine. We re-enter InnoDB to insert record into intrinsic table while holding buf_pool_mutex and hit ASSERT. Solution : ---------- Acquire buf_pool_mutex and store records locally and call the store callback after releasing buf_pool_mutex. Reviewed-by:
Marko Makela <marko.makela@oracle.com> RB: 10339
Debarun Banerjee authoredProblem : --------- While selecting from INFORMATION_SCHEMA.INNODB_CMPMEM with option big-tables=1, the fetched rows are filled into temp table by the sql function schema_table_store_record(). Innodb i_s_cmpmem_fill_low() calls the record store callback while holding buf_pool_mutex. The issue started occurring when we started to use InnoDB intrinsic table to store the records instead of heap engine. We re-enter InnoDB to insert record into intrinsic table while holding buf_pool_mutex and hit ASSERT. Solution : ---------- Acquire buf_pool_mutex and store records locally and call the store callback after releasing buf_pool_mutex. Reviewed-by:
Marko Makela <marko.makela@oracle.com> RB: 10339
Loading