[ 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