Restore the settings for num_tokens and intial_token to what they were before you upgraded. 
They should not be changed just because you are upgrading to 1.2, they are used to enable virtual nodes. Which are not necessary to run 1.2. 

Cheers


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

@aaronmorton

On 13/02/2013, at 8:02 AM, Daning Wang <daning@netseer.com> wrote:

No, I did not run shuffle since the upgrade was not successful. 

what do you mean "reverting the changes to num_tokens and inital_token"? set num_tokens=1? initial_token should be ignored since it is not bootstrap. right?

Thanks,

Daning

On Tue, Feb 12, 2013 at 10:52 AM, aaron morton <aaron@thelastpickle.com> wrote:
Were you upgrading to 1.2 AND running the shuffle or just upgrading to 1.2? 

If you have not run shuffle I would suggest reverting the changes to num_tokens and inital_token. This is a guess because num_tokens is only used at bootstrap. 

Just get upgraded to 1.2 first, then do the shuffle when things are stable. 

Cheers

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

@aaronmorton

On 12/02/2013, at 2:55 PM, Daning Wang <daning@netseer.com> wrote:

Thanks Aaron.

I tried to migrate existing cluster(ver 1.1.0) to 1.2.1 but failed.

- I followed http://www.datastax.com/docs/1.2/install/upgrading, have merged cassandra.yaml, with follow parameter

num_tokens: 256
#initial_token: 0

the initial_token is commented out, current token should be obtained from system schema

- I did rolling upgrade, during the upgrade, I got "Borken Pipe" error from the nodes with old version, is that normal?

- After I upgraded 3 nodes(still have 5 to go), I found it is total wrong, the first node upgraded owns 99.2 of ring

[cassy@d5:/usr/local/cassy conf]$  ~/bin/nodetool -h localhost status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address           Load       Tokens  Owns   Host ID                               Rack
DN  10.210.101.117    45.01 GB   254     99.2%  f4b6afe3-7e2e-4c61-96e8-12a529a31373  rack1
UN  10.210.101.120    45.43 GB   256     0.4%   0fd912fb-3187-462b-8c8a-7d223751b649  rack1
UN  10.210.101.111    27.08 GB   256     0.4%   bd4c37bc-07dd-488b-bfab-e74e32c26f6e  rack1


What was wrong? please help. I could provide more information if you need.

Thanks,

Daning



On Mon, Feb 4, 2013 at 9:16 AM, aaron morton <aaron@thelastpickle.com> wrote:
There is a command line utility in 1.2 to shuffle the tokens…


$ ./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).