cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason Brown (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-12627) Provide new seed providers
Date Fri, 04 Nov 2016 17:52:58 GMT


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:
>             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

View raw message