[
https://issues.apache.org/jira/browse/CASSANDRA-7839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15257287#comment-15257287
]
Paulo Motta commented on CASSANDRA-7839:
----------------------------------------
Overall LGTM, can you just do two minor changes:
* add an "Upgrading" notice to {{NEWS.txt}} that legacy clusters using
{{Ec2Snitch}} or {{Ec2MultiRegionSnitch}} must explicitly set
{{ec2_naming_scheme=legacy}} on {{cassandra-rackdc.properties}}.
* comment-out {{ec2_naming_scheme=standard}} on
{{cassandra-rackdc.properties}}. (since it's default) and add a short note to
change it to legacy if upgrading from a pre-3.6 cluster using {{Ec2Snitch}} or
{{Ec2PropertyFileSnitch}}
I'm not sure if this is too over-cautious, but should we add a bootstrap check
(similar to {{checkForEndpointCollision}}) failing to boostrap a node if it's
using the new scheme and nodes are detected in gossip using the legacy scheme
to prevent operator errors going unnoticed? WDYT [~brandon.williams]? (wrongly
configured existing nodes will already be prevented to start by
CASSANDRA-10242).
Submitted a round of CI tests with current patch:
||trunk||
|[branch|https://github.com/apache/cassandra/compare/trunk...pauloricardomg:trunk-7839]|
|[testall|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-trunk-7839-testall/lastCompletedBuild/testReport/]|
|[dtest|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-trunk-7839-dtest/lastCompletedBuild/testReport/]|
> Support standard EC2 naming conventions in Ec2Snitch
> ----------------------------------------------------
>
> Key: CASSANDRA-7839
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7839
> Project: Cassandra
> Issue Type: Improvement
> Reporter: Gregory Ramsperger
> Assignee: Gregory Ramsperger
> Attachments: CASSANDRA-7839-aws-naming-conventions.patch
>
>
> The EC2 snitches use datacenter and rack naming conventions inconsistent with
> those presented in Amazon EC2 APIs as region and availability zone. A
> discussion of this is found in CASSANDRA-4026. This has not been changed for
> valid backwards compatibility reasons. Using SnitchProperties, it is possible
> to switch between the legacy naming and the full, AWS-style naming.
> Proposal:
> * introduce a property (ec2_naming_scheme) to switch naming schemes.
> * default to current/legacy naming scheme
> * add support for a new scheme ("standard") which is consistent AWS
> conventions
> ** data centers will be the region name, including the number
> ** racks will be the availability zone name, including the region name
> Examples:
> * * legacy* : datacenter is the part of the availability zone name preceding
> the last "\-" when the zone ends in \-1 and includes the number if not \-1.
> Rack is the portion of the availability zone name following the last "\-".
> ** us-west-1a => dc: us-west, rack: 1a
> ** us-west-2b => dc: us-west-2, rack: 2b;
> * *standard* : datacenter is the part of the availability zone name preceding
> zone letter. rack is the entire availability zone name.
> ** us-west-1a => dc: us-west-1, rack: us-west-1a
> ** us-west-2b => dc: us-west-2, rack: us-west-2b;
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)