Replication and Binary Logging Options and Variables Default Value COMMIT_ORDER Valid Values COMMIT_ORDER WRITESET WRITESET_SESSION For a replication source server that has multithreaded replicas (replicas on which  slave_parallel_workers  is set to a value greater than 0), binlog_transaction_dependency_tracking  specifies the source of dependency information that the source records in the binary log to help replicas determine which transactions can be executed in parallel. The possible values are: In  WRITESET  or  WRITESET_SESSION  mode, transactions can commit out of order unless you also set slave_preserve_commit_order=1 . For some transactions, the  WRITESET  and  WRITESET_SESSION  modes cannot improve on the results that would have been returned in  COMMIT_ORDER  mode. This is the case for transactions that have empty or partial write sets, transactions that update tables without primary or unique keys, and transactions that update parent tables in a foreign key relationship. In these situations, the source uses COMMIT_ORDER  mode to generate the dependency information instead. To set  WRITESET  or  WRITESET_SESSION  as the value for binlog_transaction_dependency_tracking ,  transaction_write_set_extraction must be set or defaulted to specify an algorithm (not set to  OFF ). The default in MySQL 8.0 is that transaction_write_set_extraction  is set to  XXHASH64 , which is the required setting for Group Replication. The value that you select for  transaction_write_set_extraction  cannot be changed again while the value of  binlog_transaction_dependency_tracking  remains as  WRITESET  or WRITESET_SESSION .  transaction_write_set_extraction  is deprecated from MySQL 8.0.26, and will be removed in a future MySQL release. The number of row hashes to be kept and checked for the latest transaction to have changed a given row is determined by the value of  binlog_transaction_dependency_history_size . Group Replication carries out its own parallelization after certification when applying transactions from the relay log, independently of the value set for  binlog_transaction_dependency_tracking . However, the value of  binlog_transaction_dependency_tracking  does affect how transactions are written to the binary logs on Group Replication members. The dependency information in those logs is used to assist the process of state transfer from a donor’s binary log for distributed recovery, which takes place whenever a member joins or rejoins the group. For that process, setting binlog_transaction_dependency_tracking=WRITESET  can improve performance for a group member, depending on the group’s workload. 3561 • WRITESET_SESSION : Dependency information is generated from the source’s write set, and any transactions that write different tuples can be parallelized, with the exception that no two updates from the same session can be reordered. • WRITESET : Dependency information is generated from the source’s write set, and any transactions that write different tuples can be parallelized. • COMMIT_ORDER : Dependency information is generated from the source’s commit timestamps. This is the default.