[ 
https://issues.apache.org/jira/browse/CASSANDRA-12627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15637148#comment-15637148
 ] 

Jason Brown commented on CASSANDRA-12627:
-----------------------------------------

Thanks for the patch , [~appodictic]. Here's my initial thoughts:

- {{SeedProvider}}, I agree that anyone wanting to implement their own provider 
would need to know (and probably trip up on) that we require a constructor that 
takes a {{Map<String, String>}} as an argument. That change makes sense.

- {{PropertyOrEnvironmentSeedProvider}}, I'm trying to understand the upside 
value of this. Sure, it's hypothetically "simpler" to pass in a {{-D}} prop or 
set an env variable, but won't operators already need to muck about with the 
yaml anyways, for other values? By introducing this new seed provider, do we 
just spread out the configuration burden to more places?

- {{NeighborSeedProvider}}, can you explain what the value is of this class? It 
appears to naively add a range of {{InetAddress}} centered around the current 
node's address - and then use those as seeds. That seed list would only be 
visible on that node as we don't have a shared, distributed notion of what 
nodes are "seeds". I'm trying to imagine where {{NeighborSeedProvider}} would 
be useful, especially in a "cloud environment", where IP address assignment, at 
least from my previous EC2 experience, is largely random.

> Provide new seed providers
> --------------------------
>
>                 Key: CASSANDRA-12627
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12627
>             Project: Cassandra
>          Issue Type: New Feature
>            Reporter: Edward Capriolo
>            Assignee: Edward Capriolo
>
> SeedProvider is plugable, however only one implementation exists.
> Changes:
> * Create a SeedProvider that reads properties from System properties or env
> * Provide a SeedProvider that scans ranges of IP addresses to find peers.
> * Refactor interface to abstract class because all seed providers must 
> provide a constructor that accepts Map<String,String> 
> * correct error messages
> * Do not catch Exception use MultiCatch and catch typed exceptions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to