venice
venice copied to clipboard
[controller] Do not delete true backup version during Repush
Do not delete true backup version during Repush
During repush Venice deletes the actual backup version instead of current version. For example some store has versions: v9, v10. When a repush starts it creates v11 and it deletes v9 assuming it is a backup version, where as repush actually copies data from v10 to v11. Now later if use wants to rollback to backup version they can only rollback to v10 which is exactly same as v11 as v9 was deleted.
This PR fixes that. It relies on StoreBackupVersionCleanupService to delete the backup version v10 asynchronously. Currently it checks controller.backup.version.metadata.fetch.cleanup.enabled to do a safer delete of previous current version which validates there are no reads to v10 version.
How was this PR tested?
CI
Does this PR introduce any user-facing changes?
- [ ] No. You can skip the rest of this section.
- [x] Yes. Make sure to explain your proposed changes and call out the behavior change. The change in backup version definition for repush, the backup version is the current version before push instead of version before that.