binlog_transaction_dependency_tracking
INFO
Rule IDs: bl_009
Overview
- Purpose
- Documented in the MySQL 8.4 manual as a server system variable (scope: Global). Purpose and semantics are described at the linked manual page.
- Dynamic (MySQL 8.4 reference)
- MySQL 8.4 marks this variable as dynamic (
Dynamic= Yes). Runtime changes useSET GLOBAL(global scope) orSET SESSION(session scope) — confirm syntax and persistence (SET PERSIST) in the manual. - Default value
- Default depends on MySQL version, build, and platform — see the manual page for this variable.
- Version and product notes
- MariaDB and Percona Server may use different names, defaults, or dynamic behavior; verify their documentation.
- Documentation
- https://dev.mysql.com/doc/refman/8.4/en/replication-options-binary-log.html#sysvar_binlog_transaction_dependency_tracking
- Other vendors
What is checked
Rules that reference this variable, with their severity and what each rule detects:
- INFO
bl_009: Set binlog_transaction_dependency_tracking=WRITESET for improved multi-threaded replica performance. Removed in MySQL 8.4 (WRITESET is default).
Tuning guidance
- Recommended actions:
- Set binlog_transaction_dependency_tracking=WRITESET for improved multi-threaded replica performance. Removed in MySQL 8.4 (WRITESET is default).
- Trade-offs: Binary logging is essential for replication and point-in-time recovery. sync_binlog=1 guarantees durability but adds fsync overhead. ROW format is safest for replication consistency but produces larger binlogs.
Example
Consult the manual for whether SET GLOBAL, SET PERSIST, or SET SESSION applies.