On Thu, May 24, 2012 at 8:07 PM, Brandon Williams <driftx@gmail.com> wrote:
> Are there any other ways of doing the migration? What happens if we join the
> new servers without bootstrapping and run repair? Are there any other ugly
> hacks or workaround we can do? We're not looking to run a mixed cluster, we
> just want to migrate all the data as painlessly as possible.

Start the linux cluster independently and use sstableloader from the
windows cluster to populate it.

Ok. It's important for us to not have any downtime, so how about this solution:

We startup the Linux cluster independently.
We configure our application to send all Cassandra writes to both clusters, but only read from the Windows cluster.
We run sstableloader on each windows server (Is it possible to do in parallell?), sending whatever it has to the Linux cluster.
When it's done on all Windows servers, we configure our application to only talk to the Linux cluster.

The only issue with this is the timestamps of the data and tombstones in each sstable, will they be preserved by sstableloader? What about deletes of non-existing keys? Will they be stored in the Linux cluster so that when sstableloader inserts the key later, it's resolved as being deleted?