Commit Graph

1302 Commits

Author SHA1 Message Date
Shlomi Noach
6824447861 Merge pull request #90 from github/control-lock-wait-timeout
supporting --cut-over-lock-timeout-seconds
2016-07-08 10:16:40 +02:00
Shlomi Noach
8217536898 supporting --cut-over-lock-timeout-seconds 2016-07-08 10:14:58 +02:00
Shlomi Noach
44b43efa45 Merge pull request #87 from github/nice
added nice-ratio
2016-07-04 14:30:14 +02:00
Shlomi Noach
c116d84acb added nice-ratio 2016-07-04 14:29:09 +02:00
Shlomi Noach
b9e554896a Merge pull request #86 from github/more-documentation
More documentation
2016-07-01 13:25:38 +02:00
Shlomi Noach
41908c7a05 readme simplification 2016-07-01 13:25:11 +02:00
Shlomi Noach
16de269de4 throttle-query, unpostpone 2016-07-01 13:19:02 +02:00
Shlomi Noach
b7def18b20 describing atomic cut-over; elabrating on increased traffic 2016-07-01 13:02:46 +02:00
Shlomi Noach
1c56d1f4d0 Merge pull request #85 from github/unpostpone
supporting 'unpostpone' command
2016-07-01 11:03:03 +02:00
Shlomi Noach
37e3c94c87 supporting 'unpostpone' command 2016-07-01 10:59:09 +02:00
Shlomi Noach
b583458bc2 Merge pull request #84 from github/cut-over-atomic
an atomic cut-over implementation
2016-06-28 13:01:05 +02:00
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