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

Ben Bromhead commented on CASSANDRA-14361:
------------------------------------------

Currently nothing stops users adding as many seeds as they want to the current 
implementation. So this change doesn't make the situation any worse. 

I do agree with you that gossip convergence based on the information provided 
in the seed list needs to be further explored, but I don't think this ticket is 
the right place to address it.

I would also argue that the seed providers only job is to act as an external 
oracle about membership independent of Gossip. Based on the current interface 
contract the seed provider should be able to return 1 or 1000 seeds, then 
whatever consumes that seeds list needs to make the correct decision about how 
to use that list.

However that's just my opinion and one I'm not inclined to argue that 
vigorously :) 

 

> Allow SimpleSeedProvider to resolve multiple IPs per DNS name
> -------------------------------------------------------------
>
>                 Key: CASSANDRA-14361
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14361
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Configuration
>            Reporter: Ben Bromhead
>            Assignee: Ben Bromhead
>            Priority: Minor
>             Fix For: 4.0
>
>
> Currently SimpleSeedProvider can accept a comma separated string of IPs or 
> hostnames as the set of Cassandra seeds. hostnames are resolved via 
> InetAddress.getByName, which will only return the first IP associated with an 
> A, AAAA or CNAME record.
> By changing to InetAddress.getAllByName, existing behavior is preserved, but 
> now Cassandra can discover multiple IP address per record, allowing seed 
> discovery by DNS to be a little easier.
> Some examples of improved workflows with this change include: 
>  * specify the DNS name of a headless service in Kubernetes which will 
> resolve to all IP addresses of pods within that service. 
>  * seed discovery for multi-region clusters via AWS route53, AzureDNS etc
>  * Other common DNS service discovery mechanisms.
> The only behavior this is likely to impact would be where users are relying 
> on the fact that getByName only returns a single IP address.
> I can't imagine any scenario where that is a sane choice. Even when that 
> choice has been made, it only impacts the first startup of Cassandra and 
> would not be on any critical path.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to