Bug #68220 innodb_rows_updated is misleading on slave when *info_repository = TABLE
Submitted: 29 Jan 2013 18:59 Modified: 30 Jan 2013 17:04
Reporter: Yoshinori Matsunobu (OCA) Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Replication Severity:S3 (Non-critical)
Version:5.6.9, 5.7.1 OS:Any
Assigned to: CPU Architecture:Any

[29 Jan 2013 18:59] Yoshinori Matsunobu
Description:
When setting relay_log_info_repository=TABLE and master_info_repository=TABLE on slaves, innodb_rows_updated status variable becomes much larger on slave than master. This is because mysql.slave_*.info InnoDB tables are updated on slaves. This is pretty confusing.

How to repeat:
Set relay_log_info_repository=TABLE and master_info_repository=TABLE on slaves, and update one row on master. Then innodb_rows_updated increases by 1 on master but on slave innodb_rows_updated increases more than 1.

Suggested fix:
I like either of the following.
1. Ignore all statistics on mysql.* innodb tables
2. Introduce new status variables such as innodb_system_rows_[read|inserted|updated|deleted] and manage all mysql.* innodb tables statistics here
[30 Jan 2013 17:04] Sveta Smirnova
Thank you for the report.

Verified as described.
[6 Jun 2013 13:29] Simon Mudd
I can also see this as confusing as we often compare a master to a slave. Perhaps an extra counter is better given the current count _is_ correct, so that we can distinguish the 2 cases?
[9 Mar 2020 18:32] Frederic Descamps
This is solved in 8.0.19. Thanks to Facebook's contribution.