-
Ole John Aske authored
The BKA implementation in mysql-5.6 has introduce the new member variable 'mrr_length_per_rec' in 'class ha_statistics'. The BKA implementation use it to predict whether the MRR buffer used by the BKA algorithm will become full if we batch another row. This variable was assumed to be initialized by handler::info() but this change was not implemented in ha_ndbcluster::info(). Furthermore, the variable was not initialized by the ha_statistics C'tor so it contained garbage causing unpredictable behaviour of the 'BKA full' detection. This could cause the BKA algorithm to incorrectly detecting the 'full' condition after only a single row had been batched. Effectively disabling the entire batch logic and causing excessively extra Mysql <-> NDB roundtrips.
Ole John Aske authoredThe BKA implementation in mysql-5.6 has introduce the new member variable 'mrr_length_per_rec' in 'class ha_statistics'. The BKA implementation use it to predict whether the MRR buffer used by the BKA algorithm will become full if we batch another row. This variable was assumed to be initialized by handler::info() but this change was not implemented in ha_ndbcluster::info(). Furthermore, the variable was not initialized by the ha_statistics C'tor so it contained garbage causing unpredictable behaviour of the 'BKA full' detection. This could cause the BKA algorithm to incorrectly detecting the 'full' condition after only a single row had been batched. Effectively disabling the entire batch logic and causing excessively extra Mysql <-> NDB roundtrips.
Loading