-Dreplace_token leaves old node (IP) in the gossip with the token.
------------------------------------------------------------------
Key: CASSANDRA-3736
URL: https://issues.apache.org/jira/browse/CASSANDRA-3736
Project: Cassandra
Issue Type: Bug
Reporter: Jackson Chung
https://issues.apache.org/jira/browse/CASSANDRA-957 introduce a -Dreplace_token,
however, the replaced IP keeps on showing up in the Gossiper when starting the
replacement node:
{noformat}
INFO [Thread-2] 2012-01-12 23:59:35,162 CassandraDaemon.java (line 213)
Listening for thrift clients...
INFO [GossipStage:1] 2012-01-12 23:59:35,173 Gossiper.java (line 836) Node
/50.56.59.68 has restarted, now UP
INFO [GossipStage:1] 2012-01-12 23:59:35,174 Gossiper.java (line 804)
InetAddress /50.56.59.68 is now UP
INFO [GossipStage:1] 2012-01-12 23:59:35,175 StorageService.java (line 988)
Node /50.56.59.68 state jump to normal
INFO [GossipStage:1] 2012-01-12 23:59:35,176 Gossiper.java (line 836) Node
/50.56.58.55 has restarted, now UP
INFO [GossipStage:1] 2012-01-12 23:59:35,176 Gossiper.java (line 804)
InetAddress /50.56.58.55 is now UP
INFO [GossipStage:1] 2012-01-12 23:59:35,177 StorageService.java (line 1016)
Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token
85070591730234615865843651857942052864. Ignoring /50.56.58.55
INFO [GossipTasks:1] 2012-01-12 23:59:45,048 Gossiper.java (line 818)
InetAddress /50.56.58.55 is now dead.
INFO [GossipTasks:1] 2012-01-13 00:00:06,062 Gossiper.java (line 632)
FatClient /50.56.58.55 has been silent for 30000ms, removing from gossip
INFO [GossipStage:1] 2012-01-13 00:01:06,320 Gossiper.java (line 838) Node
/50.56.58.55 is now part of the cluster
INFO [GossipStage:1] 2012-01-13 00:01:06,320 Gossiper.java (line 804)
InetAddress /50.56.58.55 is now UP
INFO [GossipStage:1] 2012-01-13 00:01:06,321 StorageService.java (line 1016)
Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token
85070591730234615865843651857942052864. Ignoring /50.56.58.55
INFO [GossipTasks:1] 2012-01-13 00:01:16,106 Gossiper.java (line 818)
InetAddress /50.56.58.55 is now dead.
INFO [GossipTasks:1] 2012-01-13 00:01:37,121 Gossiper.java (line 632)
FatClient /50.56.58.55 has been silent for 30000ms, removing from gossip
INFO [GossipStage:1] 2012-01-13 00:02:37,352 Gossiper.java (line 838) Node
/50.56.58.55 is now part of the cluster
INFO [GossipStage:1] 2012-01-13 00:02:37,353 Gossiper.java (line 804)
InetAddress /50.56.58.55 is now UP
INFO [GossipStage:1] 2012-01-13 00:02:37,353 StorageService.java (line 1016)
Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token
85070591730234615865843651857942052864. Ignoring /50.56.58.55
INFO [GossipTasks:1] 2012-01-13 00:02:47,158 Gossiper.java (line 818)
InetAddress /50.56.58.55 is now dead.
INFO [GossipStage:1] 2012-01-13 00:02:50,162 Gossiper.java (line 818)
InetAddress /50.56.58.55 is now dead.
INFO [GossipStage:1] 2012-01-13 00:02:50,163 StorageService.java (line 1156)
Removing token 122029383590318827259508597176866581733 for /50.56.58.55
{noformat}
in the above, /50.56.58.55 was the replaced IP.
tried adding the "Gossiper.instance.removeEndpoint(endpoint);" in the
StorageService.java where the message 'Nodes %s and %s have the same token %s.
Ignoring %s",' seems only have fixed this temporary. Here is a ring output:
{noformat}
riptano@action-quick:~/work/cassandra$ ./bin/nodetool -h localhost ring
Address DC Rack Status State Load Owns
Token
85070591730234615865843651857942052864
50.56.59.68 datacenter1 rack1 Up Normal 6.67 KB 85.56%
60502102442797279294142560823234402248
50.56.31.186 datacenter1 rack1 Up Normal 11.12 KB 14.44%
85070591730234615865843651857942052864
{noformat}
gossipinfo:
{noformat}
$ ./bin/nodetool -h localhost gossipinfo
/50.56.58.55
LOAD:6835.0
SCHEMA:00000000-0000-1000-0000-000000000000
RPC_ADDRESS:50.56.58.55
STATUS:NORMAL,85070591730234615865843651857942052864
RELEASE_VERSION:1.0.7-SNAPSHOT
/50.56.59.68
LOAD:6835.0
SCHEMA:00000000-0000-1000-0000-000000000000
RPC_ADDRESS:50.56.59.68
STATUS:NORMAL,60502102442797279294142560823234402248
RELEASE_VERSION:1.0.7-SNAPSHOT
action-quick2/50.56.31.186
LOAD:11387.0
SCHEMA:00000000-0000-1000-0000-000000000000
RPC_ADDRESS:50.56.31.186
STATUS:NORMAL,85070591730234615865843651857942052864
RELEASE_VERSION:1.0.7-SNAPSHOT
{noformat}
Note that at 1 point earlier it seems to have been removed:
$ ./bin/nodetool -h localhost gossipinfo
/50.56.59.68
LOAD:13815.0
SCHEMA:00000000-0000-1000-0000-000000000000
RPC_ADDRESS:50.56.59.68
STATUS:NORMAL,60502102442797279294142560823234402248
RELEASE_VERSION:1.0.7-SNAPSHOT
action-quick2/50.56.31.186
LOAD:13725.0
SCHEMA:00000000-0000-1000-0000-000000000000
RPC_ADDRESS:50.56.31.186
STATUS:NORMAL,85070591730234615865843651857942052864
RELEASE_VERSION:1.0.7-SNAPSHOT
riptano@action-quick2:~/work/cassandra$ INFO [GossipStage:1] 2012-01-13
01:03:30,073 Gossiper.java (line 838) Node /50.56.58.55 is now part of the
cluster
INFO [GossipStage:1] 2012-01-13 01:03:30,073 Gossiper.java (line 804)
InetAddress /50.56.58.55 is now UP
INFO [GossipStage:1] 2012-01-13 01:03:30,074 StorageService.java (line 1017)
Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token
85070591730234615865843651857942052864. Ignoring /50.56.58.55
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira