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

OnlineDDL: Revert for VReplication based migrations #7478

Merged
Merged
Show file tree
Hide file tree
Changes from 18 commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
f8274b7
revert migration
shlomi-noach Feb 8, 2021
a866ceb
retain ddl tables: applies to all migration types
shlomi-noach Feb 8, 2021
86e8885
Merge branch 'vreplication-online-ddl' into vreplication-online-ddl-r…
shlomi-noach Feb 10, 2021
71bbb40
sanity checks: varify the migration we wish to revert is the last suc…
shlomi-noach Feb 10, 2021
d84f1be
endtoend test: validate table data is as expected
shlomi-noach Feb 10, 2021
f5fdcee
online DROP TABLE: update artifacts with renamed table
shlomi-noach Feb 18, 2021
e1dd8fc
revert: generalizing the logic to support reverting CREATE and DROP s…
shlomi-noach Feb 22, 2021
68f3104
Merge branch 'vreplication-online-ddl' into vreplication-online-ddl-r…
shlomi-noach Feb 22, 2021
8a8096a
handle revert sequence for DROP TABLE IF EXISTS, where the table did …
shlomi-noach Feb 22, 2021
389c859
endtoend tests for online DDL revert, testing revert for CREATE, ALTE…
shlomi-noach Feb 23, 2021
e4c7102
Merge branch 'master' into vreplication-online-ddl-revert
shlomi-noach Feb 24, 2021
dcdc2cf
endtoend tests can fail on setting up vttablet. My idea for having no…
shlomi-noach Feb 24, 2021
548818d
normalize json
shlomi-noach Feb 24, 2021
44a5ff9
Merge branch 'master' into vreplication-online-ddl-revert
shlomi-noach Mar 1, 2021
a3b1a4b
handle CREATE TABLE IF NOT EXISTS scenarios
shlomi-noach Mar 2, 2021
7abf2b5
endtoend tests for CREATE TABLE IF NOT EXISTS scenarios
shlomi-noach Mar 2, 2021
3311be4
resolve conflict
shlomi-noach Mar 2, 2021
8f671c7
merge master
shlomi-noach Mar 3, 2021
924d13b
typos fixed per review
shlomi-noach Mar 7, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions .github/workflows/cluster_endtoend_onlineddl_revert.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# DO NOT MODIFY: THIS FILE IS GENERATED USING "make generate_ci_workflows"

name: Cluster (onlineddl_revert)
on: [push, pull_request]
jobs:

build:
name: Run endtoend tests on Cluster (onlineddl_revert)
runs-on: ubuntu-latest

steps:
- name: Set up Go
uses: actions/setup-go@v1
with:
go-version: 1.15

- name: Check out code
uses: actions/checkout@v2

- name: Get dependencies
run: |
sudo apt-get update
sudo apt-get install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata
sudo service mysql stop
sudo service etcd stop
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
go mod download

wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb
sudo apt-get install -y gnupg2
sudo dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb
sudo apt-get update
sudo apt-get install percona-xtrabackup-24

- name: Run cluster endtoend test
timeout-minutes: 30
run: |
source build.env
eatmydata -- go run test.go -docker=false -print-log -follow -shard onlineddl_revert
10 changes: 10 additions & 0 deletions go/test/endtoend/cluster/vtctlclient_process.go
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,16 @@ func (vtctlclient *VtctlClientProcess) OnlineDDLRetryMigration(Keyspace, uuid st
)
}

// OnlineDDLRevertMigration reverts a given migration uuid
func (vtctlclient *VtctlClientProcess) OnlineDDLRevertMigration(Keyspace, uuid string) (result string, err error) {
return vtctlclient.ExecuteCommandWithOutput(
"OnlineDDL",
Keyspace,
"revert",
uuid,
)
}

// VExec runs a VExec query
func (vtctlclient *VtctlClientProcess) VExec(Keyspace, workflow, query string) (result string, err error) {
return vtctlclient.ExecuteCommandWithOutput(
Expand Down
Loading