As you may know by now, MySQL 8.0.2 DMR is out ! \o/
Many features have been added (see Geir Høydalsvik‘s announcement) and of course the replication also brought new features and improvements (see this post from Luís Soares).
But some improvements in the monitoring broke the added sys view used by ProxySQL to monitor the state of a member of the group:
mysql> select * from sys.gr_member_routing_candidate_status; +------------------+-----------+---------------------+----------------------+ | viable_candidate | read_only | transactions_behind | transactions_to_cert | +------------------+-----------+---------------------+----------------------+ | YES | NO | 0 | 0 | +------------------+-----------+---------------------+----------------------+
This is because now the table group_replication_member_stats in performance_schema also returns the status of all the members of the Group:
mysql> select * from performance_schema.replication_group_member_stats\G
*************************** 1. row ***************************
CHANNEL_NAME: group_replication_applier
VIEW_ID: 15004030793848916:3
MEMBER_ID: b94b8ae4-6672-11e7-8255-08002718d305
COUNT_TRANSACTIONS_IN_QUEUE: 0
COUNT_TRANSACTIONS_CHECKED: 189441
COUNT_CONFLICTS_DETECTED: 0
COUNT_TRANSACTIONS_ROWS_VALIDATING: 6
TRANSACTIONS_COMMITTED_ALL_MEMBERS: 1351db06-66f4-11e7-8363-08002718d305:1-34321:1000003-1000039,
388b357a-6be8-11e7-bfb3-08002718d305:1-185437:1000003-1000009,
62ad8685-667f-11e7-9056-08002718d305:1-8,
7d37e993-6bb0-11e7-be8f-08002718d305:1-14382,
abe0ad9e-6674-11e7-9056-08002718d305:1-16,
b42e6e27-66f7-11e7-9d7e-08002718d305:1-20118:1000003-1000033,
b9549b64-6672-11e7-8d90-08002718d305:1-43,
bbd5b661-667f-11e7-8792-08002718d305:1-100866:1000011-1005455:2000011-2000012
LAST_CONFLICT_FREE_TRANSACTION: 388b357a-6be8-11e7-bfb3-08002718d305:189053
COUNT_TRANSACTIONS_REMOTE_IN_APPLIER_QUEUE: 0
COUNT_TRANSACTIONS_REMOTE_APPLIED: 189442
COUNT_TRANSACTIONS_LOCAL_PROPOSED: 0
COUNT_TRANSACTIONS_LOCAL_ROLLBACK: 0
*************************** 2. row ***************************
CHANNEL_NAME: group_replication_applier
VIEW_ID: 15004030793848916:3
MEMBER_ID: b9549b64-6672-11e7-8d90-08002718d305
COUNT_TRANSACTIONS_IN_QUEUE: 0
COUNT_TRANSACTIONS_CHECKED: 189434
COUNT_CONFLICTS_DETECTED: 0
COUNT_TRANSACTIONS_ROWS_VALIDATING: 3
TRANSACTIONS_COMMITTED_ALL_MEMBERS: 1351db06-66f4-11e7-8363-08002718d305:1-34321:1000003-1000039,
388b357a-6be8-11e7-bfb3-08002718d305:1-185437:1000003-1000009,
62ad8685-667f-11e7-9056-08002718d305:1-8,
7d37e993-6bb0-11e7-be8f-08002718d305:1-14382,
abe0ad9e-6674-11e7-9056-08002718d305:1-16,
b42e6e27-66f7-11e7-9d7e-08002718d305:1-20118:1000003-1000033,
b9549b64-6672-11e7-8d90-08002718d305:1-43,
bbd5b661-667f-11e7-8792-08002718d305:1-100866:1000011-1005455:2000011-2000012
LAST_CONFLICT_FREE_TRANSACTION: 388b357a-6be8-11e7-bfb3-08002718d305:188801
COUNT_TRANSACTIONS_REMOTE_IN_APPLIER_QUEUE: 0
COUNT_TRANSACTIONS_REMOTE_APPLIED: 9
COUNT_TRANSACTIONS_LOCAL_PROPOSED: 189427
COUNT_TRANSACTIONS_LOCAL_ROLLBACK: 0
*************************** 3. row ***************************
CHANNEL_NAME: group_replication_applier
VIEW_ID: 15004030793848916:3
MEMBER_ID: b9c218cc-6672-11e7-a747-08002718d305
COUNT_TRANSACTIONS_IN_QUEUE: 0
COUNT_TRANSACTIONS_CHECKED: 189462
COUNT_CONFLICTS_DETECTED: 0
COUNT_TRANSACTIONS_ROWS_VALIDATING: 266
TRANSACTIONS_COMMITTED_ALL_MEMBERS: 1351db06-66f4-11e7-8363-08002718d305:1-34321:1000003-1000039,
388b357a-6be8-11e7-bfb3-08002718d305:1-188801:1000003-1000009,
62ad8685-667f-11e7-9056-08002718d305:1-8,
7d37e993-6bb0-11e7-be8f-08002718d305:1-14382,
abe0ad9e-6674-11e7-9056-08002718d305:1-16,
b42e6e27-66f7-11e7-9d7e-08002718d305:1-20118:1000003-1000033,
b9549b64-6672-11e7-8d90-08002718d305:1-43,
bbd5b661-667f-11e7-8792-08002718d305:1-100866:1000011-1005455:2000011-2000012
LAST_CONFLICT_FREE_TRANSACTION: 388b357a-6be8-11e7-bfb3-08002718d305:189458
COUNT_TRANSACTIONS_REMOTE_IN_APPLIER_QUEUE: 2
COUNT_TRANSACTIONS_REMOTE_APPLIED: 189453
COUNT_TRANSACTIONS_LOCAL_PROPOSED: 7
COUNT_TRANSACTIONS_LOCAL_ROLLBACK: 0
3 rows in set (0.32 sec)
So if you are using ProxySQL with its native MySQL Group Replication support, you have to use the following addition to sys: addition_to_sys_8.0.2.sql
Enjoy discovering 8.0.2 !

[…] Recently I wrote a blog post on how to use ProxySQL with 8.0.2 dmr […]
[…] Recently I wrote a blog post on how to use ProxySQL with 8.0.2 dmr […]
[…] If you are using MySQL InnoDB Cluster (Group Replication) with ProxySQL, you should be familiar with the 2 functions and 1 view required in SYS Schema that ProxySQL uses to see if a node is online, partitioned or not, and if it’s lagging or not (see link1 and link2). […]
[…] If you are using MySQL InnoDB Cluster (Group Replication) with ProxySQL, you should be familiar with the 2 functions and 1 view required in SYS Schema that ProxySQL uses to see if a node is online, partitioned or not, and if it’s lagging or not (see link1 and link2). […]