Bug #90148 Contribution by Facebook: Bug #68220 innodb_rows_updated is misleading on slave
Submitted: 20 Mar 2018 19:16 Modified: 23 Aug 2019 18:38
Reporter: FBContrib Admin Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Replication Severity:S3 (Non-critical)
Version:8.0.4 OS:Any
Assigned to: CPU Architecture:Any

[20 Mar 2018 19:16] FBContrib Admin
Description:
Background innformation provided by Facebook:
Abstract:

Added innodb_system_rows_read/inserted/updated/deleted counters that are the equivalent of innodb_rows_* but that only account for changes made to system databases (mysql, information_schame and preformance_schema). These counters will be used on slaves to differentiated the updates made on system databases from those made on user databases.

This addresses https://bugs.mysql.com/bug.php?id=68220

Repo: https://github.com/mysql/mysql-server

How to repeat:
See description

Suggested fix:
See contribution code attached
[20 Mar 2018 19:16] FBContrib Admin
Bug #68220 innodb_rows_updated is misleading on slave 
(*) This code is contributed under the Facebook agreement

Contribution: fb_patch_35.txt (text/plain), 63.84 KiB.

[23 Aug 2019 18:38] Daniel Price
Posted by developer:
 
Fixed as of the upcoming 8.0.18 release, and here's the changelog entry:

Innodb_system_rows_read, Innodb_system_rows_inserted,
Innodb_system_rows_deleted status variables were added for counting row
operations on InnoDB tables that belong to system-created schemas. The new
status variables complement the existing Innodb_rows_read,
Innodb_rows_inserted, Innodb_rows_deleted status variables, which count
operations on InnoDB tables that belong to both user-created and
system-created schemas. 

The new status variables are useful
when monitoring row operation counts in replication environments where
relay_log_info_repository and master_info_repository variables are set to
TABLE. Table-based logging results in a greater number of row operations
on slaves due to operations performed on the slave_master_info,
slave_replay_log_info, and slave_worker_info tables, which belong to the
system-created mysql schema. With the count data provided by the new
status variables, the extra operations on the mysql schema slave tables
can be excluded when comparing master and slave row operation counts.

Thanks to Facebook for the contribution. 

Status Variables:
https://dev.mysql.com/doc/refman/8.0/en/server-status-variables.html