Don't allow merge bases for preview backups (#4628)

Preview backups may use different delta token query parameters
and we don't want them to get only changes from the last possible
backup. Avoid fine-grained tracking of this sort of stuff by just
discarding all merge bases

Keeping the bases as assist bases is fine because they'll only source
unchanged data when possible

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No

#### Type of change

- [x] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Test Plan

- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
This commit is contained in:
ashmrtn 2023-11-09 16:54:07 -08:00 committed by GitHub
parent 3901087b60
commit 16782d90d6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -397,6 +397,23 @@ func (op *BackupOperation) do(
}
}
// Drop merge bases if we're doing a preview backup. Preview backups may use
// different delta token parameters so we need to ensure we do a token
// refresh. This could eventually be pushed down the stack if we track token
// versions.
//
// TODO(ashmrtn): Until we use token versions to determine this, refactor
// input params to produceManifestsAndMetadata and do this in that function
// instead of here.
if op.Options.ToggleFeatures.PreviewBackup {
logger.Ctx(ctx).Info("disabling merge bases for preview backup")
mans.DisableMergeBases()
canUseMetadata = false
mdColls = nil
}
ctx = clues.Add(
ctx,
"can_use_metadata", canUseMetadata,