Commit Graph

28 Commits

Author SHA1 Message Date
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 e2739d8a25 Add NibbleIterator::set_boundary(). 2011-09-29 09:11:50 -06:00
Daniel Nichter 258ed361c8 test 2011-09-29 08:36:18 -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 04eca15150 Add next_boundaries callback. 2011-09-27 10:23:09 -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 10e31c1b63 Fix NibbleIterator::_can_nibble_once(). Add boundaries() and one_nibble(), remove unused _check_index_usage(). 2011-09-26 10:23:42 -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 07cb6010a2 More repl table columns: chunk_time, chunk_index, lower_boundary, and upper_boundary (those two replace boundaries). 2011-09-23 10:13:57 -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 30dc37e3a5 Debug-print initial chunk size. 2011-09-20 11:51:40 -06:00
Daniel Nichter be9337a202 Pass NibbleIterator obj to callbacks. 2011-09-20 10:05:37 -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 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 0f05ca9b94 Fix multi-column index nibbling. Remove extra spaces in generated statements. 2011-09-12 08:14:57 -06:00
Daniel Nichter 3ed822e8e6 Implement dynamic chunk size, set_chunk_size(). 2011-09-12 07:32:19 -06:00
Daniel Nichter 0bb4497fbe Avoid recursion in main NibbleIterator loop. 2011-09-11 12:32:26 -06:00
Daniel Nichter 69cee0d26e Close all sths when obj is destroyed. 2011-09-11 11:41:59 -06:00
Daniel Nichter 985ee65928 Pass EXPLAIN sths to callbacks. 2011-09-11 11:10:11 -06:00
Daniel Nichter f19472b471 Pass nibbleno to callbacks. 2011-09-11 10:48:53 -06:00
Daniel Nichter 8ce093655f Add dms arg, remove before_row callback, pass some args to callbacks, get next boundary if no rows (so exec_nibble callback can skip nibbles). 2011-09-11 10:22:40 -06:00
Daniel Nichter 84f7c47ff4 Rename new TableChecksum to RowChecksum and revert TableChecksum to r108. This will avoid completely break TableSync*.pm and pt-table-sync. 2011-09-10 13:46:55 -06:00
Daniel Nichter 968d10ac37 Refactor TableChecksum for NibbleIterator (use only BIT_XOR, return just column list, etc.). 2011-09-10 12:21:00 -06:00
Daniel Nichter c989bd29dd First working NibbleIterator. 2011-09-09 17:29:28 -06:00
Daniel Nichter 7fde36a65b Create NibbleIterator. Cleanup TableNibbler. Fix bug in SchemaIterator. 2011-09-09 11:50:19 -06:00