twitter/gizzmo — pull request #20 by stuhood (2012-02-10 00:23:01+00:00)
Title: DS-29

Modifies the 'batch_finish' scheduler flag to execute a new transform strategy recommended by Jeremy Cole. The new strategy uses approximately the following steps:

* prepare
* Create the destination shards
* Link the destination shards into the ReplicatingShard topology with a BlockedShard wrapper
* Reload the topology
* copy
* Initiate copy jobs to copy all rows from existing readable copies into the new destination
* settle_begin
* Unwrap the BlockedShard wrapper around the destination shard, leaving the WriteOnlyShard wrapper
* Reload the topology on all application servers
* settle_end
* Pause for manual verification of writes
* Remove the WriteOnlyShard wrappers to allow reads to the new hosts
* Pause for manual verification of reads
* cleanup
* Remove the old shards from the topology