-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Upgrade Downgrade testing for backups #9501
Upgrade Downgrade testing for backups #9501
Conversation
36f6de6
to
56a94b4
Compare
3dfa9d0
to
4e03ddf
Compare
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
…flow Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
…ngrade Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
4e03ddf
to
03f3140
Compare
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
ef596b1
to
7878931
Compare
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
9611b41
to
5c3ed49
Compare
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
5c3ed49
to
a11c34c
Compare
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
ea4b1a0
to
e971be4
Compare
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
7bee618
to
d9cd618
Compare
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
d9cd618
to
a7737cb
Compare
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
fefc74f
to
76f56d5
Compare
…ne in bash Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is very good work.
I'm just wondering if the cluster we are creating needs to be this complicated. We are running MoveTables and Reshard on that cluster before we even start the backup flow.
Can we not simply create the sharded cluster we want without going through all these workflows? A problem in any of them can fail the upgrade/downgrade test (false positive).
I'm willing to consider having this merged as-is if you can simplify it later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apart from the requested changes, everything else looks good to me!
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
@deepthi @GuptaManan100 - Thank you both for the review. Actually @deepthi you are right, the setup of the cluster was inefficient, via commit da541cd I simplified the whole process, going from ~2-5 mins to <1 min to set up the cluster and with a process that is less prone to errors |
Description
This pull request adds the upgrade downgrade tests for the
backup
andrestore
functionalities of Vitess. The goal of the upgrade downgrade tests is to make sure Vitess functionalities continue working when certain components have different versions (versionn
for the current commit, and versionn-1
for the previous release of Vitess).Two new workflows are added:
Upgrade Downgrade Testing - Backups - E2E
uses the already-existing end-to-end testsUpgrade Downgrade Testing - Backups - Manual
does the backup and restore while downgrading and upgrading VTTablet manually on a live cluster. The steps are detailed in this comment)Upgrade Downgrade Testing - Backups - E2E
This test runs the end-to-end tests contained in packages
go/test/endtoend/backup/vtbackup
&go/test/endtoend/backup/transform
. It runs once withvttablet n-1
andvtbackup n
, then runs a second time withvttablet n
andvtbackup n-1
.Upgrade Downgrade Testing - Backups - Manual
Setup
n
.Downgrade (
n-1
restore fromn
)n-1
of vttablet. The tablets restore from the backup we made.select count()
.Upgrade (
n
restore fromn-1
)n
of vttablet. The tablets restore from the backup we made usingvttablet n-1
in the Downgrade phase.Related Issue(s)
Checklist