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

@ericyan ericyan added the feature/move-tables PRs that are associated with the new move-tables feature label Aug 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature/move-tables PRs that are associated with the new move-tables feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants