Nikhil Mathew
b399533d4f
Simplify GoMySQLReader
2017-08-08 13:41:46 -07:00
Nikhil Mathew
982b8eede9
Refactor global migration context
2017-08-08 13:36:54 -07:00
Shlomi Noach
7a3912da80
fixing binlog syncer double-close()
2017-03-27 08:33:06 +03:00
Shlomi Noach
2d5f8398d6
gomysql_reader.go adapted to api changes in go-mysql
2017-02-12 13:15:53 +02:00
Cyprian Nosek
2bfc672b03
Add possibility to set serverId as gh-ost argument
...
Signed-off-by: Cyprian Nosek <cyprian.nosek@pearson.com>
2016-12-28 11:49:41 +01:00
Shlomi Noach
349c9af08d
Merge branch 'master' into close-streamer-connection
2016-10-28 09:30:16 +02:00
Shlomi Noach
5aad45e3bc
formatted code via gofmt
2016-10-27 20:38:45 +02:00
Shlomi Noach
7b63b4a275
proper cleanup of streamer connection
2016-10-27 13:52:37 +02:00
Shlomi Noach
f00a9814e6
legacy comments cleanup
2016-08-17 06:51:06 +02:00
Shlomi Noach
1d77425fbe
capped streamer retries
2016-07-25 15:17:30 +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
896f560dce
after timeout: reconnecting as new replica; skipping queries correctly
2016-05-23 11:12:59 +02:00
Shlomi Noach
9b54d0208f
- Handling gomysql.replication connection timeouts: reconnecting on last known position
...
- `printStatus()` takes ETA into account
- More info around `master_pos_wait()`
2016-05-19 15:11:36 +02:00
Shlomi Noach
9d055dbda7
renaming to gh-ost
2016-05-16 11:09:17 +02:00
Shlomi Noach
75f68c0752
- row copy and row events are now handled by a single routine which prioritizes events over rowcopy
...
- Supporting `--throttle-file-flag`
- Printing status
- Supporting transactional table syntax
- code cleanup; refactoring
- proper use of atomic where required
- iterations are in changelog (erm... maybe too much)
- `LOCK TABLES`, `UNLOCK TABLES` working
2016-04-08 10:34:44 +02:00
Shlomi Noach
0e7b23e6fe
- Creating an populating Changelog table
...
- Using heartbeat
- Throttling works based on heartbeat
- Refactored binlog_reader stuff. Now streaming events (into golang channel, which makes for nice buffering and throttling)
- Binlog table listeners work
- More Migrator logic; existing logic for waiting on `state` events (e.g. `TablesCreatedState`)
2016-04-07 15:57:12 +02:00
Shlomi Noach
4dd5a93ed7
- More work on go-mysql reader: now properly notes binlog coordinates as it makes progress
...
- Properly creating multiple BinlogEntry-ies when reading multi statement binlog event (Still todo: transactions)
2016-04-06 18:44:54 +02:00
Shlomi Noach
5deff2adb6
- working POC of row-copy iteration cycle
...
- initial work on table columns
- initial work on events streamer
2016-04-06 13:05:58 +02:00
Shlomi Noach
cf87d16044
detecting master (includes sanity checks). Introducing Applier. Creating and altering ghost table
2016-04-04 15:29:02 +02:00
Shlomi Noach
1b8c5ff286
preparing for db access
2016-04-01 16:05:54 +02:00
Shlomi Noach
8f3d13e071
still experimenting, yes? go-mysql binlog parser looks good
2016-03-30 15:43:40 +02:00
Shlomi Noach
30a472f741
begin work on positional columns. Incomplete
2016-03-24 22:27:39 +01:00
Shlomi Noach
96a8fd50c3
minor refactoring; fixed license comments
2016-03-24 15:11:56 +01:00
Shlomi Noach
fb04eb232f
simplified appendBinlogEntry()
2016-03-24 14:52:49 +01:00
Shlomi Noach
8aa6a9750c
adjusted automaton to accept multi-statement entries; added tests
2016-03-24 14:25:52 +01:00
Shlomi Noach
1768b55b3b
mysqlbinlog_reader is now a simple state machine
2016-03-23 15:25:45 +01:00
Shlomi Noach
e36bb51b69
initial seems-to-be-working parser for binary logs, which reads log pos, end log pos, statement type, schema and table. Performs some validations along the way. Reads in chunks of up to 32M per chunk
2016-03-23 12:40:17 +01:00
Shlomi Noach
09046c8f6e
initial binlog package
2016-03-22 15:12:51 +01:00