Skip to content

Fix group replication for MySQL 8.4+: removed/deprecated options #49

@renecannao

Description

@renecannao

Bug Report

Group replication deployment fails on MySQL 8.4+ with:

unknown variable 'transaction_write_set_extraction=XXHASH64'

Root Cause

MySQL 8.3+ removed transaction_write_set_extraction (deprecated since 8.0.26). Several other deprecated options exist in group replication templates.

Issues found

Critical (causes startup failure):

  1. transaction_write_set_extraction=XXHASH64 in sandbox/templates/group/group_repl_options.gotxt:9removed in 8.3+

Deprecated (warnings, will break in future):
2. log_slave_updates=ON in sandbox/templates/group/group_repl_options.gotxt:4 — should be log_replica_updates=ON for 8.0.26+
3. log_slave_updates=ON in sandbox/pxc_replication.go:228 — same issue

Removed SQL commands:
4. reset master in sandbox/templates/group/init_nodes.gotxt:11removed in 8.4+, should be RESET BINARY LOGS AND GTIDS
5. reset master in sandbox/templates/single/clear.gotxt:46 — same
6. reset master in sandbox/templates/single/replicate_from.gotxt:153 — same
7. reset master in sandbox/templates/replication/multi_source.gotxt:7 — same

Fix approach

  • Version-conditional in group_repl_options.gotxt: omit transaction_write_set_extraction for 8.3+, use log_replica_updates for 8.0.26+
  • Shell-based version detection for RESET MASTER vs RESET BINARY LOGS AND GTIDS in affected templates
  • Same approach used for SHOW MASTER STATUS fix in PR Fix MySQL 8.4+/9.x replication compatibility #21

Tested

# Fails on 8.4.4 and 9.1.0:
dbdeployer deploy replication 8.4.4 --topology=group --sandbox-binary=$HOME/opt/mysql

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions