Closed iravid closed 4 years ago
@tarzanek Would you like to test-drive this?
Hmm the updated version of the Cassandra connector caused compilation to break. I missed this locally because I had a jar of the previous version.
Fix incoming.
let me try it, it looks good from the quick look I had
Awesome, thanks!
@tarzanek Going to go ahead and merge this. Still interested in your experience if you get the chance!
Summary of changes
Migrator
entrypoint. Dynamo migrations are now configured by providing source and target configurations that usetype: dynamodb
.Forked Libraries
section for details on why the library was forked.streamChanges
parameter when the source is a DynamoDB table. This will cause a DynamoDB Stream to be enabled on the source table before the snapshot migration is started. After the migration is complete, the changes from the stream will be consumed and applied to the target table.Forked Libraries
for details on why the library was forked.How this was tested
Using https://github.com/iravid/migrator-dynamo-mutator, a DynamoDB table is created and random mutations are applied to it. Concurrently, the migrator is started with that table as a source and a local Alternator instance as a target. The mutator applies random mutations until the user signals to stop. Then it compares the source and target tables. I performed several experiments that showed 0 differences (symmetrically).
Limitations
Forked Libraries
Of these two, I intend to work on upstreaming the changes in spark-dynamodb further on.