[ 
https://issues.apache.org/jira/browse/CASSANDRA-3542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13160958#comment-13160958
 ] 

Viktor Jevdokimov commented on CASSANDRA-3542:
----------------------------------------------

Problem was with our specific Endpoint Snitch, which wasn't able to detect DC & 
Rack for self node. We use hosts file to resolve host name for all Cassandra 
nodes, while using alias for local node address like this (hosts file for node 
1):

IP1 NAME1RACK1DC1
IP2 NAME2RACK1DC1
IP3 NAME3RACK1DC1
IP1 local.cassandra
IP1 seed.cassandra

Since Cassandra for self address creates InetAddress with alias entered in 
config (local.cassandra), getHostName() returns that alias (local.cassandra) 
instead of real host name (NAME1RACK1DC1). We have changed getHostName() to 
getCanonicalHostName().

It would be great for Cassandra to initialize IP address by alias entered in 
config and construct InetAddress by IP address only, not setting host name. 
This way getHostName() will use reverse DNS instead of property.
                
> Failed to add new nodes to the cluster
> --------------------------------------
>
>                 Key: CASSANDRA-3542
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3542
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 0.8.7
>         Environment: Windows Server 2008 R2 64bit
>            Reporter: Viktor Jevdokimov
>         Attachments: failed.log, success.log
>
>
> We have 1 ring 8 nodes (1-8) placed in 2 data centers, replica placement 
> strategy is OldNetworkTopologyStrategy:
> DC  Node
> DC2 10.10.222.5 Token=1
> DC1 10.10.111.1 Token=21267647932558653966460912964485513216
> DC2 10.10.222.6 Token=42535295865117307932921825928971026433
> DC1 10.10.111.2 Token=63802943797675961899382738893456539648
> DC2 10.10.222.7 Token=85070591730234615865843651857942052865
> DC1 10.10.111.3 Token=106338239662793269832304564822427566080
> DC2 10.10.222.8 Token=127605887595351923798765477786913079297
> DC1 10.10.111.4 Token=148873535527910577765226390751398592512
> Replica placement strategy: OldNetworkTopologyStrategy
> Decided to have 2 rings in 2 data centers with total 16 nodes, replica 
> placement strategy NetworkTopologyStrategy:
> DC  Node
> DC1 10.10.111.9  Token=0
> DC1 10.10.111.1  Token=21267647932558653966460912964485513216
> DC1 10.10.111.10 Token=42535295865117307932921825928971026432
> DC1 10.10.111.2  Token=63802943797675961899382738893456539648
> DC1 10.10.111.11 Token=85070591730234615865843651857942052864
> DC1 10.10.111.3  Token=106338239662793269832304564822427566080
> DC1 10.10.111.12 Token=127605887595351923798765477786913079296
> DC1 10.10.111.4  Token=148873535527910577765226390751398592512
> DC2 10.10.222.5  Token=1
> DC2 10.10.222.13 Token=21267647932558653966460912964485513217
> DC2 10.10.222.6  Token=42535295865117307932921825928971026433
> DC2 10.10.222.14 Token=63802943797675961899382738893456539649
> DC2 10.10.222.7  Token=85070591730234615865843651857942052865
> DC2 10.10.222.15 Token=106338239662793269832304564822427566081
> DC2 10.10.222.8  Token=127605887595351923798765477786913079297
> DC2 10.10.222.16 Token=148873535527910577765226390751398592513
> Before adding new node one by one we have changed current keyspace's replica 
> placement strategy from OldNetworkTopologyStrategy to NetworkTopologyStrategy.
> Trying to bootstrap new node (tried different tokens) we've got exceptions 
> (see attached failed.log).
> The only workaround was to add Schema*.db files from existing node to a new 
> nodes before bootstrapping. As a result, node was added to the ring. One 
> drawback was - new node didn't got any data streams from old nodes (see 
> attached success.log).

--
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

        

Reply via email to