[
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: [email protected]
For additional commands, e-mail: [email protected]