Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(backups): disable CBT when CBT is unusable #8313

Merged
merged 4 commits into from
Mar 3, 2025

Conversation

fbeauchamp
Copy link
Collaborator

Description

Short explanation of this PR (feel free to re-use commit message)

Checklist

  • Commit
    • Title follows commit conventions
    • Reference the relevant issue (Fixes #007, See xoa-support#42, See https://...)
    • If bug fix, add Introduced by
  • Changelog
    • If visible by XOA users, add changelog entry
    • Update "Packages to release" in CHANGELOG.unreleased.md
  • PR
    • If UI changes, add screenshots
    • If not finished or not tested, open as Draft

Review process

This 2-passes review process aims to:

  • develop skills of junior reviewers
  • limit the workload for senior reviewers
  • limit the number of unnecessary changes by the author
  1. The author creates a PR.
  2. Review process:
    1. The author assigns the junior reviewer.
    2. The junior reviewer conducts their review:
      • Resolves their comments if they are addressed.
      • Adds comments if necessary or approves the PR.
    3. The junior reviewer assigns the senior reviewer.
    4. The senior reviewer conducts their review:
      • If there are no unresolved comments on the PR → merge.
      • Otherwise, we continue with 3.
  3. The author responds to comments and/or makes corrections, and we go back to 2.

Notes:

  1. The author can request a review at any time, even if the PR is still a Draft.
  2. In theory, there should not be more than one reviewer at a time.
  3. The author should not make any changes:
    • When a reviewer is assigned.
    • Between the junior and senior reviews.

@fbeauchamp fbeauchamp force-pushed the fix_disable_cbt_on_failure branch from d71a2fe to c9e6146 Compare February 5, 2025 09:54
@rtjdamen
Copy link

Hi @fbeauchamp, i want to comment on this one. It’s not needed to disable cbt on the vdi itself, just removing all cbt snapshots and run a new full is enough to resolve the problems with invalid cbt here. We have seen some rare issues with disabling CBT on a running VM causing the vdi to get stucked into paused state. So i think it’s better to not run that command unsupervised without knowing what can happen.

@fbeauchamp fbeauchamp force-pushed the fix_disable_cbt_on_failure branch from c9e6146 to bf0b696 Compare February 19, 2025 09:32
@fbeauchamp fbeauchamp marked this pull request as ready for review February 19, 2025 09:59
@fbeauchamp
Copy link
Collaborator Author

Hi @fbeauchamp, i want to comment on this one. It’s not needed to disable cbt on the vdi itself, just removing all cbt snapshots and run a new full is enough to resolve the problems with invalid cbt here. We have seen some rare issues with disabling CBT on a running VM causing the vdi to get stucked into paused state. So i think it’s better to not run that command unsupervised without knowing what can happen.

this won't be run automatically, at least for now. It will be used when manually disabling Changed Block Tracking , as an additional way to clean up any remaining data, broken cbt chain.
Also calling disable_cbt on the xapi is the only way to make it remove the *.cbtlog file without accessing the storage repository

@fbeauchamp fbeauchamp requested a review from b-Nollet February 19, 2025 10:00
Copy link
Contributor

@b-Nollet b-Nollet left a comment

Choose a reason for hiding this comment

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

Looks good to me apart from the little typos in the comments

@b-Nollet b-Nollet requested a review from MathieuRA February 20, 2025 14:09
@fbeauchamp fbeauchamp force-pushed the fix_disable_cbt_on_failure branch from 66d6ad6 to e6c8950 Compare February 21, 2025 10:26
@MathieuRA MathieuRA requested a review from b-Nollet February 21, 2025 14:25
fbeauchamp and others added 4 commits March 3, 2025 11:35
Co-authored-by: Bastien Nollet <150058367+b-Nollet@users.noreply.github.com>
Co-authored-by: Bastien Nollet <150058367+b-Nollet@users.noreply.github.com>
@fbeauchamp fbeauchamp force-pushed the fix_disable_cbt_on_failure branch from e6c8950 to 9089550 Compare March 3, 2025 10:36
@fbeauchamp fbeauchamp merged commit 2a2c966 into master Mar 3, 2025
1 check passed
@fbeauchamp fbeauchamp deleted the fix_disable_cbt_on_failure branch March 3, 2025 10:41
fbeauchamp added a commit that referenced this pull request Mar 3, 2025
fbeauchamp added a commit that referenced this pull request Mar 4, 2025
fbeauchamp added a commit that referenced this pull request Mar 4, 2025
introduced by #8313

Co-authored-by: Bastien Nollet <150058367+b-Nollet@users.noreply.github.com>
@rtjdamen
Copy link

rtjdamen commented Mar 7, 2025

After installing this update we ran into this error on a cvm "SR_BACKEND_FAILURE_82(, Failed to snapshot VDI [opterr=['MAP_DUPLICATE_KEY', 'VDI', 'sm_config', 'OpaqueRef:69fc25e1-45a5-4aa1-80af-365773dd2fa9', 'paused']], )" i have seen it before when u try to disable cbt on running vms. this happened from the backup job. Seems like this has been initiated because the cbt for this vm was invalid.

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.

4 participants