Daniel Nichter
|
c58dfca1b5
|
Use latest Quoter::(de)serialize_list() in pt-table-checksum and pt-table-sync. Add more char_chunking.t tests for pt-table-checksum.
|
2011-12-29 17:25:38 -07:00 |
|
Brian Fraser
|
1f06ea093a
|
Modified (de)serialize_list to handle undefs and empty string elements better.
|
2011-12-29 17:22:17 -03:00 |
|
Daniel Nichter
|
6088ffa43d
|
Use new Quoter (de)serialize_list() in pt-table-checksum and pt-table-sync.
|
2011-12-28 17:12:12 -07:00 |
|
Brian Fraser
|
85817a795c
|
Slight improvement to the deserialize regex and its test output.
|
2011-12-28 20:08:30 -03:00 |
|
Daniel Nichter
|
4197b09f53
|
Adjust code spacing, tweak comments, do only (de)serialize tests with database, give tests names.
|
2011-12-28 15:47:50 -07:00 |
|
Brian Fraser
|
88e82d665d
|
Include serialize_list() and deserialize_list() to roundtrip through a DB.
|
2011-12-28 16:44:49 -03:00 |
|
Daniel Nichter
|
f122861808
|
Fix --where with one nibble. Update chunk_index.t.
|
2011-12-27 11:12:40 -07:00 |
|
Daniel Nichter
|
1d8da408fc
|
Revert to r243 to undo pt-table-sync changes.
|
2011-12-22 12:06:25 -07:00 |
|
Daniel Nichter
|
cfc57c71af
|
Make pt-table-sync --replicate work with pt-table-checksum 2.0.
|
2011-12-22 10:10:22 -07:00 |
|
Daniel Nichter
|
457fa70668
|
Fix TableSyncer trace msg, implement --explain, fix locking/committing. Add aux dbh, dbh opts, and disconnect() to Cxn.
|
2011-12-21 21:12:03 -07:00 |
|
Daniel Nichter
|
ec8471ba28
|
Finish rewriting TableSyncer and updating its test. Add RowSyncerBidirectional.pm. Add GENLOG switch to start-sandbox.
|
2011-12-21 12:10:57 -07:00 |
|
Daniel Nichter
|
4c8fd5c080
|
Rewrite TableSyncer to use only NibbleIterator. Add RowSyncer. Return hashref from NibbleIterator.
|
2011-12-21 01:19:50 -07:00 |
|
Daniel Nichter
|
5d2e60791c
|
Don't add ORDER BY to nibble SQL by default.
|
2011-12-19 14:17:11 -07:00 |
|
Daniel Nichter
|
ff78656859
|
Fix various resume issues.
|
2011-11-17 11:20:00 -07:00 |
|
Daniel Nichter
|
619cda713f
|
Handle resume in NibbleIterator.
|
2011-11-15 11:55:07 -07:00 |
|
Daniel Nichter
|
fbb80008de
|
Add OobNibbleIterator.pm.
|
2011-11-14 17:49:48 -07:00 |
|
Daniel Nichter
|
5465634885
|
Fix --resume --ignore-tables.
|
2011-11-08 10:20:59 -07:00 |
|
Daniel Nichter
|
c45676abf1
|
Fix some lib/ tests.
|
2011-11-02 10:20:07 -06:00 |
|
Daniel Nichter
|
79beac6eb7
|
Add MySQLStatusWaiter.pm.
|
2011-10-19 20:07:02 -06:00 |
|
Daniel Nichter
|
c4db7c0633
|
Test and fix very small --chunk-time. Report immediately when a slave is stopped. Add short form -q for --quiet. Report very slow checksums once for each table. Use Cxn::name() instead of Cxn::dsn()->{n}; remove n from DSNParser; make cxn's name @@hostname by default, else stringified DSN parts.
|
2011-10-19 11:27:19 -06:00 |
|
Daniel Nichter
|
8d2259e5b3
|
Fix --ignore-columns in NibbleIterator. Increase test coverage to 93%.
|
2011-10-18 09:32:48 -06:00 |
|
Daniel Nichter
|
07420ff78e
|
Don't crash on empty tables with --chunk-size-limit=0. Don't crash trying to print MySQL warning. Finish updating (all the important) tests.
|
2011-10-15 17:47:56 -06:00 |
|
Daniel Nichter
|
48fb4baa7c
|
Use 'h=localhost' if no DSN or DSN options given. Remove unused DSN parts (D and t) and don't copy some parts. Move issue_947.t tests into standard_options.t and remove issue_947.t.
|
2011-10-14 07:59:43 -06:00 |
|
Daniel Nichter
|
964bb094a0
|
Get row estimate from NibbleIterator. Use user's index over MySQL's index when --where is given.
|
2011-10-13 09:23:53 -06:00 |
|
Daniel Nichter
|
28fa7d62c2
|
Support --where in NibbleIterator. If --where, prefer index that MySQL wants to use. Keep SHOW TABLE STATUS from SchemaIterator and re-use it in NibbleIterator (avoids double execution).
|
2011-10-13 08:49:32 -06:00 |
|
Daniel Nichter
|
083fb1b8ca
|
Make --explain cummulative. Update char_chunking.t. Reword checksum query comments.
|
2011-10-12 11:22:13 -06:00 |
|
Daniel Nichter
|
937a514b49
|
Add Cxn.t.
|
2011-10-11 10:31:25 -06:00 |
|
Daniel Nichter
|
b2f92391a7
|
Fatal error if slave dies. Make Cxn::connect() if dbh id dead. Sort slave lag properly and use Cxn instead of dbh in ReplicaLagWaiter. Check master cxn before keepalive. Sleep N+0.25 waiting for chunks.
|
2011-10-10 10:56:08 -06:00 |
|
Daniel Nichter
|
e2e40488c5
|
Add Cxn.pm. Make MasterSlave, NibbleIterator, and ReplicaLagWaiter use Cxn. Rewrite, simplify Retry.
|
2011-10-06 12:47:35 -06:00 |
|
Daniel Nichter
|
929000cfdd
|
Partial --resume implementation (work in progress).
|
2011-09-28 11:33:12 -06:00 |
|
Daniel Nichter
|
25882d49e7
|
Resume for SchemaIterator. Use only next_lb; don't need first_lb in NibbleIterator.
|
2011-09-27 13:06:24 -06:00 |
|
Daniel Nichter
|
83bbe45187
|
Simplify NibbleIterator callbacks. Pass args to init callback so caller can check ub_sth.
|
2011-09-27 08:21:34 -06:00 |
|
Daniel Nichter
|
c9e8444166
|
Handle one-chunk tables. Chunk tables w/o indexes if they're small enough. Check index for every chunk. Check chunk size if ub and next_lb are equal.
|
2011-09-26 11:38:35 -06:00 |
|
Daniel Nichter
|
eff835ffe7
|
Detect infinite loops using only lower boundaries.
|
2011-09-26 08:53:22 -06:00 |
|
Daniel Nichter
|
9f3e05691c
|
Detect infinite loops. Use best non-unique index. Disable chunk size limit if chunk index is unique.
|
2011-09-23 17:33:23 -06:00 |
|
Daniel Nichter
|
361c958a66
|
Auto-skip mysql.slow|general_log tables.
|
2011-09-23 08:07:03 -06:00 |
|
Daniel Nichter
|
acef6450ff
|
Add CleanupTask.
|
2011-09-22 11:45:44 -06:00 |
|
Daniel Nichter
|
bbae1ba9cf
|
Add TS to output. Don't require initial n and t.
|
2011-09-22 09:04:11 -06:00 |
|
Daniel Nichter
|
f6fb8b44bd
|
Decompose ReplicaLagLimiter into ReplicaLagWaiter and WeightedAvgRate. Don't use OptionParser in NibbleIterator; use chunk_size arg instead.
|
2011-09-21 11:19:49 -06:00 |
|
Daniel Nichter
|
d979821efe
|
Rewrite ReplicaLagLimiter::wait().
|
2011-09-21 10:30:33 -06:00 |
|
Daniel Nichter
|
412e9e4e18
|
Allow initial values to be zero for ReplicaLagLimiter::new(). Return 1/0/death from ReplicaLagLimiter::wait().
|
2011-09-20 11:28:00 -06:00 |
|
Daniel Nichter
|
a19dd0b16c
|
Simplify ReplicaLagLimiter::update().
|
2011-09-20 08:59:33 -06:00 |
|
Daniel Nichter
|
26b99b20ad
|
Use weighted exp avg instead of moving avg for ReplicaLagLimiter::update(). Use "LIMIT ?, 2" for ub_sql/sth in NibbleIterator.
|
2011-09-19 11:41:41 -06:00 |
|
Daniel Nichter
|
b1e01be2c2
|
Finish, test, and docu ReplicaLagLimiter.
|
2011-09-19 09:06:30 -06:00 |
|
Daniel Nichter
|
006b93ddf9
|
Create ReplicaLagLimiter. Replace --max-lag, --check-interval, and --check-slave-lag with --replica-lag and --replica-lag-dsn. Use TableParser::get_table_status() in NibbleItertor. Eval SHOW TABLE STATUS. Auto-add "n" (name) part to parsed DSNs.
|
2011-09-16 17:35:40 -06:00 |
|
Daniel Nichter
|
756142c1d1
|
Remove MySQLDump; move get_create_table() and get_table_status() to TableParser and remove saving results in each function.
|
2011-09-15 09:39:32 -06:00 |
|
Daniel Nichter
|
d881fa0b35
|
Change --chunk-size to type size. Make TIME column %.3f. Make OptionParser report invalid sizes.
|
2011-09-14 10:40:42 -06:00 |
|
Daniel Nichter
|
676a7aa20f
|
Fix cols, sep, trim, and float precision. Re-add --columns.
|
2011-09-14 10:16:43 -06:00 |
|
Daniel Nichter
|
5f2cdad299
|
Implement MasterSlave::get_slaves() to get cxns from a DSN table. Add comments explaining use_repl_db().
|
2011-09-13 09:27:59 -06:00 |
|
Daniel Nichter
|
0f05ca9b94
|
Fix multi-column index nibbling. Remove extra spaces in generated statements.
|
2011-09-12 08:14:57 -06:00 |
|