-
Andrei Elkin authored
Not-released memory after stop-slave was caused by skipping MTS cleanup in case the Workers initialization fails. It could fail for instance because of imcompatibility of max of opt_mts_checkpoint_group and sizeof(mysql.slave_worker_info.Checkpoint_group_bitmap) when the former allowed a value over the size (fixed by Bug@12979420). Fixed with refining MTS stop procedure, in particular making sure that cleanup of Coordinator related objects is done even though Workers might not have been threaded. Also @@slave_checkpoint_group system var is made cacheble into rli->checkpoint_group at slave start same way as slave_parallel_workers. That is a new slave session will use the last available value of @@slave_checkpoint_group on the eve of START-SLAVE, and changes to the variable won't have any effect to the running slave session.
Andrei Elkin authoredNot-released memory after stop-slave was caused by skipping MTS cleanup in case the Workers initialization fails. It could fail for instance because of imcompatibility of max of opt_mts_checkpoint_group and sizeof(mysql.slave_worker_info.Checkpoint_group_bitmap) when the former allowed a value over the size (fixed by Bug@12979420). Fixed with refining MTS stop procedure, in particular making sure that cleanup of Coordinator related objects is done even though Workers might not have been threaded. Also @@slave_checkpoint_group system var is made cacheble into rli->checkpoint_group at slave start same way as slave_parallel_workers. That is a new slave session will use the last available value of @@slave_checkpoint_group on the eve of START-SLAVE, and changes to the variable won't have any effect to the running slave session.
Loading