Shlomi Noach
0191b2897d
an atomic cut-over implementation, as per issue #82
2016-06-27 11:08:06 +02:00
Shlomi Noach
ad25e60e0c
Merge pull request #83 from github/noop-verbose
...
noop more verbose
2016-06-27 08:50:06 +02:00
Shlomi Noach
4f299f320e
noop more verbose
2016-06-27 08:49:26 +02:00
Shlomi Noach
b4a2a3bfbe
Merge pull request #81 from github/noop-show-create-table
...
a noop operation dumps SHOW CREATE TABLE
2016-06-22 12:39:38 +02:00
Shlomi Noach
e0de69b028
a noop operation dumps SHOW CREATE TABLE
2016-06-22 12:39:13 +02:00
Shlomi Noach
45625a6a6d
Merge pull request #79 from github/noop-drop-ghost
...
on noop operation, drop ghost table at end
2016-06-22 10:49:21 +02:00
Shlomi Noach
5b20122957
on noop operation, drop ghost table at end
2016-06-22 10:48:17 +02:00
Shlomi Noach
35752c931d
Merge pull request #78 from github/allow-master-master
...
adding --allow-master-master
2016-06-22 10:39:45 +02:00
Shlomi Noach
690e046c51
adding --allow-master-master
2016-06-22 10:38:13 +02:00
Shlomi Noach
b6d88ddece
Merge pull request #77 from github/cut-over-lock-table-names
...
Solved cut-over stall; change of table names
2016-06-21 12:56:53 +02:00
Shlomi Noach
96e8419a35
Solved cut-over stall; change of table names
...
- Cutover would stall after `lock tables` wait-timeout due do waiting on a channel that would never be written to. This has been identified, reproduced, fixed, confirmed.
- Change of table names. Heres the story:
- Because were testing this even while `pt-online-schema-change` is being used in production, the `_tbl_old` naming convention makes for a collision.
- "old" table name is now `_tbl_del`, "del" standing for "delete"
- ghost table name is now `_tbl_gho`
- when issuing `--test-on-replica`, we keep the ghost table around, and were also briefly renaming original table to "old". Well this collides with a potentially existing "old" table on master (one that hasnt been dropped yet).
`--test-on-replica` uses `_tbl_ght` (ghost-test)
- similar problem with `--execute-on-replica`, and in this case the table doesnt stick around; calling it `_tbl_ghr` (ghost-replica)
- changelog table is now `_tbl_ghc` (ghost-changelog)
- To clarify, I dont want to go down the path of creating "old" tables with 2 or 3 or 4 or 5 or infinite leading underscored. I think this is very confusing and actually not operations friendly. Its OK that the migration will fail saying "hey, you ALREADY have an old table here, why dont you take care of it first", rather than create _yet_another_ `____tbl_old` table. Were always confused on which table it actually is that gets migrated, which is safe to `drop`, etc.
- just after rowcopy completing, just before cutover, during cutover: marking as point in time _of interest_ so as to increase logging frequency.
2016-06-21 12:56:01 +02:00
Shlomi Noach
dc8d27466c
Merge pull request #76 from github/cut-over-no-throttle
...
not throttling during cut-over operation
2016-06-21 09:23:23 +02:00
Shlomi Noach
cd6b3c5e9e
not throttling during cut-over operation
2016-06-21 09:21:58 +02:00
Shlomi Noach
0200cc9305
Merge pull request #75 from github/dynamic-throttle-control-replicas
...
supporting interactive command throttle-control-replicas
2016-06-20 12:10:03 +02:00
Shlomi Noach
2c8121c070
upped version
2016-06-20 12:09:35 +02:00
Shlomi Noach
80fcc05eb5
supporting interactive command throttle-control-replicas
2016-06-20 12:09:04 +02:00
Shlomi Noach
94c8812146
Merge pull request #74 from github/status-clueanup-comments
...
Retries, better visibility, documentation
2016-06-20 08:04:17 +02:00
Shlomi Noach
9197eedc64
Merge pull request #73 from github/throttle-critical
...
Throttling & critical load
2016-06-20 08:02:28 +02:00
Shlomi Noach
f0b012b238
support for 'panic' interactive command
2016-06-20 06:38:29 +02:00
Shlomi Noach
62b8a897e3
Retries, better visibility, documentation
...
- Rowcopy time is bounded by copy end-time
- Retries are configurable via `--default-retries` (default: `60`)
- `migrator` notes the hostname
- `applier` and `inspector` note `impliedKey` (`@@hostname` and `@@port`)
- Added lots of code comments
- Adding documentation for "triggerless design"
2016-06-19 17:55:37 +02:00
Shlomi Noach
23cb8ea7e9
Throttling & critical load
...
- Added `--throttle-query` param (when returns > 0, throttling applies)
- Added `--critical-load`, similar to `--max-load` but implies panic and quit
- Recoded *-load as `LoadMap`
- More info on *-load throttle/panic
- `printStatus()` now gets printing heuristic. Always shows up on interactive `"status"`
- Fixed `change column` (aka rename) handling with quotes
- Removed legacy `mysqlbinlog` parser code
- Added tests
2016-06-18 21:12:07 +02:00
Shlomi Noach
b31ba4e8ce
Merge pull request #71 from github/panic-file
...
supporting `--panic-flag-file`;
2016-06-17 11:41:25 +02:00
Shlomi Noach
d38ff68a15
minor formatting
2016-06-17 11:41:10 +02:00
Shlomi Noach
94f311ec7b
supporting --panic-flag-file
; when it exists - app panics and exits without cleanup
2016-06-17 11:40:08 +02:00
Shlomi Noach
2b0f7af84b
Merge pull request #70 from github/identify-rename
...
Supporting column rename
2016-06-17 08:04:03 +02:00
Shlomi Noach
836d0fe119
Supporting column rename
...
- Parsing `alter` statement to catch `change old_name new_name ...` statements
- Auto deducing renamed columns
- When suspecting renamed columns, requesting explicit `--approve-renamed-columns` or `--skip-renamed-columns`
- updated tests
2016-06-17 08:03:18 +02:00
Shlomi Noach
5a8688ee2e
Merge pull request #69 from github/check-privileges
...
more elaborate check that user has privileges
2016-06-16 16:07:13 +02:00
Shlomi Noach
3e83202b97
more elaborate check that user has privileges
2016-06-16 16:06:26 +02:00
Shlomi Noach
166c6f3457
Merge pull request #68 from github/dependencies
...
Dependencies
2016-06-16 11:51:09 +02:00
Shlomi Noach
8c17701e58
more attempts
2016-06-16 11:49:16 +02:00
Shlomi Noach
2cab1eaab7
more attempts
2016-06-16 11:48:39 +02:00
Shlomi Noach
869bc4b6da
more attempts
2016-06-16 11:46:44 +02:00
Shlomi Noach
e0aca0a768
more attempts
2016-06-16 11:46:06 +02:00
Shlomi Noach
02ec1d2b0c
trying to get rid of godeps
2016-06-16 11:30:43 +02:00
Shlomi Noach
41569d8161
trying something else. Go deps are hell
2016-06-16 11:28:42 +02:00
Shlomi Noach
9d1c420ff1
adding go/vendor dependencies
2016-06-16 11:19:58 +02:00
Shlomi Noach
18f0ea6bc3
Merge pull request #67 from github/go-vendor-dependencies
...
resolving go/vendor dependencies
2016-06-16 11:16:50 +02:00
Shlomi Noach
1cfdb27a3a
added siddontang dependencies
2016-06-16 11:15:56 +02:00
Shlomi Noach
60fef6b5fe
Merge pull request #66 from github/execute-on-replica
...
--migrate-on-replica
2016-06-15 12:32:32 +02:00
Shlomi Noach
1226fa893f
updated documentation re: cut-over, test-on-replica, migrate-on-replica
2016-06-15 12:31:38 +02:00
Shlomi Noach
7d0ec9c9dc
added --migrate-on-replica flag; runs complete migration on replica
2016-06-15 12:18:59 +02:00
Shlomi Noach
574c372fba
Merge pull request #64 from github/safe-cut-over
...
Safe cut over
2016-06-15 10:14:07 +02:00
Shlomi Noach
85d6883e69
printing migration status on waitForEventsUpToLock()
2016-06-15 10:13:06 +02:00
Shlomi Noach
96bc3804eb
test-on-replica stops replication completely
2016-06-14 12:50:07 +02:00
Shlomi Noach
97adbf1ff8
- --cut-over
no longer mandatory; default to safe
...
- Removed `CutOverVoluntaryLock` and associated code
- Removed `CutOverUdfWait`
- `RenameTablesRollback()` first attempts an atomic swap
2016-06-14 09:01:06 +02:00
Shlomi Noach
cb1c61ac47
- --cut-over
no longer mandatory; default to safe
...
- Removed `CutOverVoluntaryLock` and associated code
- Removed `CutOverUdfWait`
- `RenameTablesRollback()` first attempts an atomic swap
2016-06-14 09:00:56 +02:00
Shlomi Noach
8292f5608f
Safe cut-over
...
- Supporting multi-step, safe cut-over phase, where queries are blocked throughout the phase, and worst case scenario is table outage (no data corruption)
- Self-rollsback in case of failure (restored original table)
2016-06-14 08:35:07 +02:00
Shlomi Noach
302dbf0939
Merge pull request #63 from github/cut-over-on-test-on-replica
...
test-on-replica to invoke cut-over swap
2016-06-14 08:32:11 +02:00
Shlomi Noach
e4ed801df5
noting posponing status
2016-06-13 18:36:29 +02:00
Shlomi Noach
b8c7e046a1
test-on-replica to invoke cut-over swap
2016-06-10 11:15:11 +02:00