There is a command line utility in 1.2 to shuffle the tokens…

http://www.datastax.com/dev/blog/upgrading-an-existing-cluster-to-vnodes

$ ./cassandra-shuffle --help
Missing sub-command argument.
Usage: shuffle [options] <sub-command>

Sub-commands:
 create           Initialize a new shuffle operation
 ls               List pending relocations
 clear            Clear pending relocations
 en[able]         Enable shuffling
 dis[able]        Disable shuffling

Options:
 -dc,  --only-dc           Apply only to named DC (create only)
 -tp,  --thrift-port       Thrift port number (Default: 9160)
 -p,   --port              JMX port number (Default: 7199)
 -tf,  --thrift-framed     Enable framed transport for Thrift (Default: false)
 -en,  --and-enable        Immediately enable shuffling (create only)
 -H,   --help              Print help information
 -h,   --host              JMX hostname or IP address (Default: localhost)
 -th,  --thrift-host       Thrift hostname or IP address (Default: JMX host)

Cheers

-----------------
Aaron Morton
Freelance Cassandra Developer
New Zealand

@aaronmorton

On 3/02/2013, at 11:32 PM, Manu Zhang <owenzhang1990@gmail.com> wrote:

On Sun 03 Feb 2013 05:45:56 AM CST, Daning Wang wrote:
I'd like to upgrade from 1.1.6 to 1.2.1, one big feature in 1.2 is
that it can have multiple tokens in one node. but there is only one
token in 1.1.6.

how can I upgrade to 1.2.1 then breaking the token to take advantage
of this feature? I went through this doc but it does not say how to
change the num_token

http://www.datastax.com/docs/1.2/install/upgrading

Is there other doc about this upgrade path?

Thanks,

Daning

I think for each node you need to change the num_token option in conf/cassandra.yaml (this only split the current range into num_token parts) and run the bin/cassandra-shuffle command (this spread it all over the ring).