Skip to content

docs: Add changelog entries for MySQL CLONE support and restore hook backup engine variable#19436

Open
promptless[bot] wants to merge 1 commit intomainfrom
promptless/pr-19084-mysql-clone-restore
Open

docs: Add changelog entries for MySQL CLONE support and restore hook backup engine variable#19436
promptless[bot] wants to merge 1 commit intomainfrom
promptless/pr-19084-mysql-clone-restore

Conversation

@promptless
Copy link
Contributor

@promptless promptless bot commented Feb 21, 2026

Open this suggestion in Promptless to view citations and reasoning process

Documents two Backup and Restore features for v24.0.0:

  1. MySQL CLONE Support for Replica Provisioning (PR mysqlctl,vttablet,vtbackup: support restore tablet and vtbackup restore phase with CLONE #19084): VTTablet and VTBackup now support using MySQL's native CLONE plugin to provision new replicas by copying data directly from a donor tablet over the network - a faster alternative to backup restore.

  2. New TM_RESTORE_DATA_BACKUP_ENGINE Environment Variable (PR Pass backup engine to vttablet_restore_done hook #19405): The vttablet_restore_done hook now includes a TM_RESTORE_DATA_BACKUP_ENGINE environment variable containing the backup engine used for the restore, sourced from the backup manifest's BackupMethod field. This allows hook scripts to perform engine-specific actions.

Trigger Events

vitessio/vitess PR #19084: mysqlctl,vttablet,vtbackup: support restore tablet and vtbackup restore phase with CLONE

Promptless Research (3 GitHub PRs)

Agent Response

I've successfully completed the changelog documentation for the MySQL CLONE feature. Here's a summary of what was done:

Summary

I created a new changelog entry in the v24.0.0 release notes documenting MySQL CLONE Support for Replica Provisioning. This covers all three related PRs as requested by @mattlord:

Changes Made

Added a new "Backup and Restore" section to changelog/24.0/24.0.0/summary.md that includes:

  • Overview of the MySQL CLONE feature and its benefits (faster than logical backup/restore)
  • Requirements (MySQL 8.0.17+, InnoDB-only tables)
  • All new flags documented in tables:
    • --mysql-clone-enabled, --clone-from-primary, --clone-from-tablet, --restore-with-clone, --clone-restart-wait-timeout
    • Clone user configuration flags: --db-clone-user, --db-clone-password, --db-clone-use-ssl
  • Example usage for both VTTablet and VTBackup
  • Important note about enabling the feature on all participating tablets

The documentation follows the existing changelog format with proper anchor IDs, table of contents entry, and formatting consistent with other entries in the release notes.

vitessio/vitess PR #19405: Pass backup engine to vttablet_restore_done hook

Promptless Research (1 GitHub PR)

Agent Response

I've completed the documentation update for PR #19405. Here's a summary of what I did:

Summary

I reviewed PR #19405 which adds a new TM_RESTORE_DATA_BACKUP_ENGINE environment variable to the vttablet_restore_done hook. The variable contains the backup engine used for the restore operation (e.g., builtin, xtrabackup), sourced from the backup manifest's BackupMethod field.

Decision

This is changelog-worthy because it adds a new user-facing capability to hooks. Operators using vttablet_restore_done hooks can now perform engine-specific actions based on how their restore was performed.

Changes Made

I added this entry to an existing suggestion that already contained a "Backup and Restore" section (documenting MySQL CLONE support). This keeps related backup/restore features together in the changelog.

Updated suggestion: Add changelog entries for MySQL CLONE support and restore hook backup engine variable

The changelog entry includes:

  • A new Table of Contents entry under "Backup and Restore"
  • A content section explaining the new TM_RESTORE_DATA_BACKUP_ENGINE environment variable and when it's set

Tip: Create additional Docs Collections to keep multiple repositories in sync 📚

Copy link
Contributor Author

Choose a reason for hiding this comment

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

(Line 195)

Citation: PR #19084 adds --restore-with-clone flag to VTTablet and VTBackup. Changes in go/cmd/vtbackup/cli/vtbackup.go and go/vt/vttablet/tabletmanager/restore.go.
View source

Copy link
Contributor Author

Choose a reason for hiding this comment

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

(Line 195)

Citation: PR #19062 adds core MySQL CLONE infrastructure - CloneExecutor in go/vt/mysqlctl/clone.go, clone user flags (--db-clone-user, --db-clone-password, --db-clone-use-ssl), and --mysql-clone-enabled flag.
View source

@github-actions github-actions bot added the Component: Documentation docs related issues/PRs label Feb 21, 2026
Copy link
Contributor Author

Choose a reason for hiding this comment

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

(Line 195)

Citation: PR #19064 adds CloneFromDonor at the topology level with --clone-from-primary and --clone-from-tablet flags in go/vt/mysqlctl/clone.go.
View source


**Note:** All tablets participating in CLONE operations (both donors and recipients) must have `--mysql-clone-enabled` set during MySQL initialization to ensure the CLONE plugin is loaded and the clone user exists.

#### <a id="restore-hook-backup-engine-env"/>New `TM_RESTORE_DATA_BACKUP_ENGINE` Environment Variable for Restore Hook</a>
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Citation: Based on PR #19405 which adds TM_RESTORE_DATA_BACKUP_ENGINE environment variable to the vttablet_restore_done hook. The implementation in go/vt/vttablet/tabletmanager/restore.go shows the value is sourced from backupManifest.BackupMethod and is only set when backupEngine != "".
View source

@github-actions github-actions bot added this to the v24.0.0 milestone Feb 21, 2026
@vitess-bot vitess-bot bot added NeedsWebsiteDocsUpdate What it says NeedsDescriptionUpdate The description is not clear or comprehensive enough, and needs work NeedsIssue A linked issue is missing for this Pull Request NeedsBackportReason If backport labels have been applied to a PR, a justification is required labels Feb 21, 2026
@promptless
Copy link
Contributor Author

promptless bot commented Feb 21, 2026

🔧 I noticed that some CI checks failed for this PR. I'm investigating whether the failures are caused by this suggestion. If they're unrelated or pre-existing, I'll leave this suggestion unchanged and create a separate suggestion if a standalone docs fix is needed.

@vitess-bot
Copy link
Contributor

vitess-bot bot commented Feb 21, 2026

Review Checklist

Hello reviewers! 👋 Please follow this checklist when reviewing this Pull Request.

General

  • Ensure that the Pull Request has a descriptive title.
  • Ensure there is a link to an issue (except for internal cleanup and flaky test fixes), new features should have an RFC that documents use cases and test cases.

Tests

  • Bug fixes should have at least one unit or end-to-end test, enhancement and new features should have a sufficient number of tests.

Documentation

  • Apply the release notes (needs details) label if users need to know about this change.
  • New features should be documented.
  • There should be some code comments as to why things are implemented the way they are.
  • There should be a comment at the top of each new or modified test to explain what the test does.

New flags

  • Is this flag really necessary?
  • Flag names must be clear and intuitive, use dashes (-), and have a clear help text.

If a workflow is added or modified:

  • Each item in Jobs should be named in order to mark it as required.
  • If the workflow needs to be marked as required, the maintainer team must be notified.

Backward compatibility

  • Protobuf changes should be wire-compatible.
  • Changes to _vt tables and RPCs need to be backward compatible.
  • RPC changes should be compatible with vitess-operator
  • If a flag is removed, then it should also be removed from vitess-operator and arewefastyet, if used there.
  • vtctl command output order should be stable and awk-able.

@promptless
Copy link
Contributor Author

promptless bot commented Feb 21, 2026

Promptless escalated the following message to you. If you respond, please remember to tag Promptless:

I investigated the CI failure on the changelog PR for MySQL CLONE support and restore hook backup engine variable.

Finding: This failure is not caused by the documentation content — it's a repository policy check requiring specific PR labels.

The "Check Pull Request labels" workflow requires:

  • A Component: ... label ✅ (passed)
  • A Type: ... label ❌ (missing)

To resolve this, someone with repository access would need to add a Type: label (e.g., Type: Documentation) to PR #19436. The documentation content itself is ready for review.

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

Labels

Component: Documentation docs related issues/PRs NeedsBackportReason If backport labels have been applied to a PR, a justification is required NeedsDescriptionUpdate The description is not clear or comprehensive enough, and needs work NeedsIssue A linked issue is missing for this Pull Request NeedsWebsiteDocsUpdate What it says

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants