Skip to content

Add MariaDB support for --move-tables mode - #1756

Open
ericyan wants to merge 4 commits into
feature/move-tablesfrom
move-tables-mariadb
Open

Add MariaDB support for --move-tables mode#1756
ericyan wants to merge 4 commits into
feature/move-tablesfrom
move-tables-mariadb

Conversation

@ericyan

@ericyan ericyan commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Description

This PR adds MariaDB coverage and compatibility support for --move-tables mode:

  • Adds MariaDB 10.5, 10.6, 10.11, 11.4, and 11.8 to the move-tables CI matrix.
  • Uses MariaDB’s @@global.gtid_binlog_pos to capture the post-cutover drain coordinate when running with MariaDB.
  • Makes the generated-columns move-tables fixture portable by removing MySQL-only NOT NULL annotations from generated columns.
  • Keeps move-tables independent of the standard metadata-lock instrumentation check, because its cutover is a source-primary RENAME TABLE followed by a drain to the captured GTID; it never invokes atomicCutOver(), AtomicCutOverMagicLock, or ExpectMetadataLock.

In case this PR introduced Go code changes:

  • contributed code is using same conventions as original code
  • script/cibuild returns with no formatting errors, build errors or unit test errors.

Copilot AI balanced review requested due to automatic review settings August 19, 2026 09:04

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds MariaDB compatibility and CI coverage for move-tables migrations.

Changes:

  • Adds MariaDB images and replication setup.
  • Uses MariaDB-specific GTID coordinates during cutover and resume.
  • Makes fixtures and metadata-lock checks compatible with MariaDB.
Show a summary per file
File Description
.github/workflows/move-tables-tests.yml Expands the database test matrix.
script/docker-gh-ost-move-tables-tests Configures MySQL/MariaDB containers and replication.
localtests/docker-compose-move-tables.yml Accepts engine-specific server options.
localtests/move-tables-test.sh Handles MariaDB GTID verification.
localtests/move-tables/generated-columns/create.sql Makes generated columns portable.
go/logic/migrator.go Selects the correct drain GTID variable and skips irrelevant metadata-lock checks.
go/logic/applier.go Restores the source GTID flavor when resuming.
go/logic/migrator_move_tables_cutover_test.go Tests GTID variable selection.

Review details

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

  • Files reviewed: 8/8 changed files
  • Comments generated: 1
  • Review effort level: Balanced

Comment thread script/docker-gh-ost-move-tables-tests
@ericyan ericyan changed the title Move tables mariadb Add MariaDB support for --move-tables mode Aug 19, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review details

  • Files reviewed: 9/9 changed files
  • Comments generated: 0 new
  • Review effort level: Balanced

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants