[ 
https://issues.apache.org/jira/browse/CASSANDRA-15068?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marcus Eriksson updated CASSANDRA-15068:
----------------------------------------
     Bug Category: Parent values: Code(13163)
       Complexity: Low Hanging Fruit
    Discovered By: User Report
           Status: Open  (was: Triage Needed)

> EC2MRS - cassandra-11356 patch seems to break useful broadcast_rpc_address 
> defaulting from 2.1
> ----------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-15068
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-15068
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Cluster/Gossip
>            Reporter: Constance Eustace
>            Priority: Normal
>
> We have a couple clusters that are using Ec2MultiRegionSnitch that are 2.1.x 
> that we are attempting to upgrade. 
> Our 2.1.x yamls have internal IPs set for broadcast_rpc_address.
> Source of EC2MRS for 2.1: 
> [https://github.com/apache/cassandra/blob/cassandra-2.1/src/java/org/apache/cassandra/locator/Ec2MultiRegionSnitch.java]
> The code in 2.1.x EC2MRS seems to not care what you set in the yaml, and 
> overrides to: 
> DatabaseDescriptor.setBroadcastAddress(localPublicAddress);  
> DatabaseDescriptor.setBroadcastRpcAddress(localPublicAddress);
> The code in 2.2.x EC2MRS 
> ([https://github.com/apache/cassandra/blob/cassandra-2.2/src/java/org/apache/cassandra/locator/Ec2MultiRegionSnitch.java|https://github.com/apache/cassandra/blob/cassandra-2.1/src/java/org/apache/cassandra/locator/Ec2MultiRegionSnitch.java])
>  ONLY does this is if the broadcast_rpc_address is somehow null.
> Our rpc_address is set to 0.0.0.0
> But cassandra will not startup with rpc_address set to 0.0.0.0 and 
> broadcast_rpc_address commetned out, empty, or explicitly null. 
> It would APPEAR in the code that while cassandra normally doesn't like this 
> being blank, for EC2MRS and it's autodetection of private and public IPs 
> using aws metadata urls, this isn't a huge deal. 
> So it would seem that what people have been doing is setting the global ip 
> for broadcast_rpc_address in the yaml, but if the aws instance is hardware 
> rebooted/replaced, the global IP changes and we need to edit the yaml. That 
> sucks, whereas in 2.1 this was not necessary.
> If we blank the rpc_address rather than use 0.0.0.0, then cqlsh does not work 
> with localhost and that breaks cluster management tooling we have, and it 
> might not be correct.
> I understand this was changed to accomodate CASSANDRA-11356. 
> It would seem we could reenable beneficial 2.1.x behavior of EC2MRS by either 
> providing a exception for the usual startup of cassandra which complains if 
> broadcast_rpc_address is not set and rpc_address is 0.0.0.0, or maybe provide 
> a magic value for broadcast_rpc_address to overwrite, or... I don't know.
> Or is there some magic yaml configuration that will allow cassandra to 
> startup but allow the autoset of broadcast_address AND broadcast_rpc_address 
> to the metadata-detected public addresses, rpc_address set to 0.0.0.0, and 
> the listen_address to the internal VPC address?
> Or am I missing something fundamental here?
> We REALLY don't want to do custom builds. 
> PERHAPS we could do a custom old-style implementation (EC2MRSOld) in a jar 
> and use that?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to