[ 
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)

Reply via email to