Skip to content

Changes in AliSQL 5.6.32 (2018 01 24)

zhangxiaojian edited this page Jan 24, 2018 · 3 revisions

AliSQL 5.6.32 Release Note (2018-01-24)

Abstract

Here are the AliSQL (20180124) Release Notes:

1. Support CPU_TIME metrics

Support CPU_TIME metrics to help analysis.

2. Prefer to chose index with auto_increment column when slave apply binlog

In row binlog format, slave chose index with an internal order, optimize the order by prefering to chose index with auto_increment.

3. Invisible index is not respected properly by slave under row format

Invisible key should not be chosed by slave SQL_thread for update.

Functionality Added or Changed

1. Support CPU_TIME metrics

Description:

Support getting CUP_TIME value from SQL statement, that is more convenient for usage and analysis.

Usage:

There is two way to get 'cpu_time' value:

SQL syntac:

SHOW STATUS LIKE 'cpu_time';

SHOW FULL PROCESSLIST;

2. Prefer to chose index with auto_increment column when slave apply binlog

Description:

In row binlog format, slave chose index when apply binlog use such order:

  1. primary key
  2. unique key without null columns
  3. normal index or unique key with null columns

Actually, in situation 3 we should chose index with auto_increment column first, after this patch, the new order is

  1. primary key
  2. unique key without null columns
  3. normal index with auto_increment columns
  4. normal index without auto_increment columns or unique key with null columns

Bug Fixed

1. Invisible index is not respected by slave under row format

Description:

We have mentioned this bug to MySQL offcial bug#88847, this issue is related to invisible indexes feature which we ported from 8.0 upstream. Invisible index is not considered by slave SQL row applier when searching index to use, and choosed anyway as long as the index is fit for update.

Solution:

Make slave SQL applier thread respecting invisible indexes and don't choose them when searching index to use.