Jana created CASSANDRA-8084:
-------------------------------

             Summary: GossipFilePropertySnitch and EC2MultiRegionSnitch when 
used in AWS/GCE clusters doesnt use the PRIVATE IPS for Intra-DC communications 
- example for nodetool repair communications
                 Key: CASSANDRA-8084
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8084
             Project: Cassandra
          Issue Type: Bug
          Components: Config
         Environment: Tested this in GCE and AWS clusters. Created multi region 
and multi dc cluster once in GCE and once in AWS and ran into the same problem. 

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.3 LTS"
NAME="Ubuntu"
VERSION="12.04.3 LTS, Precise Pangolin"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu precise (12.04.3 LTS)"
VERSION_ID="12.04"

Tried to install Apache Cassandra version ReleaseVersion: 2.0.10 and also 
latest DSE version which is 4.5 and which corresponds to 2.0.8.39.
            Reporter: Jana
             Fix For: 2.0.10


Neither of these snitches(GossipFilePropertySnitch and EC2MultiRegionSnitch ) 
used the PRIVATE IPS for communication between INTRA-DC nodes in my 
multi-region multi-dc cluster in cloud(on both AWS and GCE).

 Here are the various cluster flavors I tried and failed- 

AWS + Multi-REGION + Multi-DC + GossipPropertyFileSnitch + (Prefer_local=true) 
in rackdc-properties file. 

AWS + Multi-REGION + Multi-DC + EC2MultiRegionSnitch + (Prefer_local=true) in 
rackdc-properties file. 

GCE + Multi-REGION + Multi-DC + GossipPropertyFileSnitch + (Prefer_local=true) 
in rackdc-properties file. 

GCE + Multi-REGION + Multi-DC + EC2MultiRegionSnitch + (Prefer_local=true) in 
rackdc-properties file. 

I am expecting with the above setup all of my nodes in a given DC all 
communicate via private ips since the cloud providers dont charge us for using 
the private ips and they charge for using public ips.

But they can use PUBLIC IPs for INTER-DC communications which is working as 
expected. 

Here is a snippet from my log files when I ran the "nodetool repair -local" - 

Node responding to 'node running repair' 
INFO [AntiEntropyStage:1] 2014-10-08 14:47:51,628 Validator.java (line 254) 
[repair #1439f290-4efa-11e4-bf3a-df845ecf54f8] Sending completed merkle tree to 
/54.172.118.222 for system_traces/sessions
 INFO [AntiEntropyStage:1] 2014-10-08 14:47:51,741 Validator.java (line 254) 
[repair #1439f290-4efa-11e4-bf3a-df845ecf54f8] Sending completed merkle tree to 
/54.172.118.222 for system_traces/events

Node running repair - 
INFO [AntiEntropyStage:1] 2014-10-08 14:47:51,927 RepairSession.java (line 166) 
[repair #1439f290-4efa-11e4-bf3a-df845ecf54f8] Received merkle tree for events 
from /54.172.118.222

Note: The IPs its communicating is all PUBLIC Ips and it should have used the 
PRIVATE IPs starting with 172.x.x.x

YAML file values : 
The listen address is set to: PRIVATE IP
The broadcast address is set to: PUBLIC IP
The SEEDs address is set to: PUBLIC IPs from both DCs
The SNITCHES tried: GPFS and EC2MultiRegionSnitch
RACK-DC: Had prefer_local set to true. 





--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to