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

Online DDL: support migration cut-over backoff and forced cut-over #14546

Merged
merged 39 commits into from
Dec 13, 2023
Merged
Changes from 1 commit
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
57667a7
Online DDL: backoff for vitess cut-over intervals
shlomi-noach Oct 24, 2023
906e7fc
resolve conflict
shlomi-noach Nov 9, 2023
100eb76
refactor reviewVReplRunningMigration()
shlomi-noach Nov 9, 2023
0c92e95
DDL Strategy: support --force-cut-over-after=<duration> flag
shlomi-noach Nov 16, 2023
08c83b3
schema_migrations: support force_cutover column
shlomi-noach Nov 16, 2023
cb4bcf0
Updte ready_to_complete: only update ready_to_complete_timestamp on f…
shlomi-noach Nov 16, 2023
abf999f
detect (heuristic) queries running on a given table, and detect trans…
shlomi-noach Nov 16, 2023
bd2868b
validate --force-cut-over-after
shlomi-noach Nov 16, 2023
c3f3ccc
shouldCutOverAccordingToBackoff(): backoff and force-cutover logic; k…
shlomi-noach Nov 19, 2023
8e7d8ac
sqlparser: support ALTER VITESS_MIGRATION '...' FORCE_CUTOVER
shlomi-noach Nov 19, 2023
c821fc3
Implement ALTER VITESS_MIGRATION '...' FORCE_CUTOVER in query executo…
shlomi-noach Nov 19, 2023
a0d980f
endtoend: test 'ALTER VITESS_MIGRATION ... FORCE_CUTOVER' statement, …
shlomi-noach Nov 19, 2023
26d7809
endtoend: validate 'ALTER VITESS_MIGRATION ... FORCE_CUTOVER' kills t…
shlomi-noach Nov 19, 2023
1c002c5
FORCE_CUTOVER triggers scheduler next checks
shlomi-noach Nov 19, 2023
9a0a82b
proto: ForceCutOverSchemaMigration, ForceCutOverSchemaMigrationReques…
shlomi-noach Nov 19, 2023
9eac122
nuance test changes
shlomi-noach Nov 19, 2023
738cd7b
rename function
shlomi-noach Nov 19, 2023
24da375
vtctl gRPC: implement CleanupSchemaMigration
shlomi-noach Nov 19, 2023
359c6fb
implement vtctldclient force_cutover
shlomi-noach Nov 19, 2023
0589d4a
resolved conflict
shlomi-noach Nov 19, 2023
804b684
support 'ALTER VITESS_MIGRATION FORCE_CUTOVER ALL'
shlomi-noach Nov 19, 2023
769053b
force cutover only possible on MySQL 8.0
shlomi-noach Nov 19, 2023
7995987
resolved conflict
shlomi-noach Nov 26, 2023
7ed323c
resolved conflict
shlomi-noach Nov 27, 2023
5240429
Merge branch 'onlineddl-cutover-backoff' of github.com:planetscale/vi…
shlomi-noach Nov 27, 2023
baae9f2
punctuation
shlomi-noach Nov 30, 2023
c787863
validate: --force-cut-over-after is only valid in 'vitess' strategy.
shlomi-noach Nov 30, 2023
71fb82b
simplify test expectations
shlomi-noach Nov 30, 2023
7b7413d
-1 for maxrows
shlomi-noach Nov 30, 2023
7192e96
rename as killTableLockHoldersAndAccessors, add comments
shlomi-noach Nov 30, 2023
92aeac1
endtoend: use context with timeout
shlomi-noach Nov 30, 2023
478fcad
added unit test
shlomi-noach Nov 30, 2023
9c2929b
OnlineDDL command named force-cutover
shlomi-noach Nov 30, 2023
10868b9
Update go/cmd/vtctldclient/command/onlineddl.go
shlomi-noach Nov 30, 2023
2fd3850
span name
shlomi-noach Dec 4, 2023
848cafb
include UUID in log
shlomi-noach Dec 4, 2023
849d8ae
reorder proto alphabetically
shlomi-noach Dec 4, 2023
839f772
resolved conflict
shlomi-noach Dec 5, 2023
892fd23
resolved conflict
shlomi-noach Dec 12, 2023
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
Prev Previous commit
Next Next commit
detect (heuristic) queries running on a given table, and detect trans…
…actions holding a lock on a table

Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
  • Loading branch information
shlomi-noach committed Nov 16, 2023
commit abf999f5705ac4f061a7f7cc8b7273f35170b387
22 changes: 16 additions & 6 deletions go/vt/vttablet/onlineddl/schema.go
Original file line number Diff line number Diff line change
Expand Up @@ -574,12 +574,22 @@ const (
_vt.copy_state
WHERE vrepl_id=%a
`
sqlSwapTables = "RENAME TABLE `%a` TO `%a`, `%a` TO `%a`, `%a` TO `%a`"
sqlRenameTable = "RENAME TABLE `%a` TO `%a`"
sqlLockTwoTablesWrite = "LOCK TABLES `%a` WRITE, `%a` WRITE"
sqlUnlockTables = "UNLOCK TABLES"
sqlCreateSentryTable = "CREATE TABLE IF NOT EXISTS `%a` (id INT PRIMARY KEY)"
sqlFindProcess = "SELECT id, Info as info FROM information_schema.processlist WHERE id=%a AND Info LIKE %a"
sqlSwapTables = "RENAME TABLE `%a` TO `%a`, `%a` TO `%a`, `%a` TO `%a`"
sqlRenameTable = "RENAME TABLE `%a` TO `%a`"
sqlLockTwoTablesWrite = "LOCK TABLES `%a` WRITE, `%a` WRITE"
sqlUnlockTables = "UNLOCK TABLES"
sqlCreateSentryTable = "CREATE TABLE IF NOT EXISTS `%a` (id INT PRIMARY KEY)"
sqlFindProcess = "SELECT id, Info as info FROM information_schema.processlist WHERE id=%a AND Info LIKE %a"
sqlFindProcessByInfo = "SELECT id, Info as info FROM information_schema.processlist WHERE Info LIKE %a and id != connection_id()"
sqlProcessWithLocksOnTable = `
SELECT
DISTINCT innodb_trx.trx_mysql_thread_id
from
performance_schema.data_locks
join information_schema.innodb_trx on (data_locks.ENGINE_TRANSACTION_ID=innodb_trx.trx_id)
where
data_locks.OBJECT_SCHEMA=database() AND data_locks.OBJECT_NAME=%a
`
)

var (
Expand Down