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

Stefan Miklosovic edited comment on CASSANDRA-13855 at 3/21/24 11:58 PM:
-------------------------------------------------------------------------

The problem I see is that if we e.g. talk about that EC2SeedProvider as in that 
link above, it uses some AWS libraries. If we wanted to ship it with Cassandra, 
we would have to depend on this library and this would be done for each such 
cloud. That opens a can of worms ... Are licences compatible? What version of 
that library are we going to use? Who is going to update it and when? Are these 
libraries even compatible between themselves when we put them on the class 
path? They might depend on various libraries themselves, are we going to ship 
all of that with the project too?

The task here is to code up a "HTTP seed provider" -> HTTP meaning it would 
read some external data in a predefined format which would be parsed and it is 
responsibility of a user to provide such HTTP endpoint to read the metadata 
from. Cloud snitches are modelled like that too - they are just using HTTP to 
call cloud metadata services just in different ways. Would it be possible to 
not depend on cloud libraries but to code cloud seed providers in such a way 
that they would be still using HTTP under the hood?

Secondly, the point is to return, from a seed provider, list of addresses which 
are supposed to be seeds. I just do not see how putting a snitch into a seed 
provider achieves this.

EDIT: I think your goal was to not bring all libs into the project after all, 
as I read it for the second time ... But I just still dont see how it would be 
achieved.

Please move it to a separate ticket, that would be great.



was (Author: smiklosovic):
The problem I see is that if we e.g. talk about that EC2SeedProvider as in that 
link above, it uses some AWS libraries. If we wanted to ship it with Cassandra, 
we would have to depend on this library and this would be done for each such 
cloud. That opens a can of worms ... Are licences compatible? What version of 
that library are we going to use? Who is going to update it and when? Are these 
libraries even compatible between themselves when we put them on the class 
path? They might depend on various libraries themselves, are we going to ship 
all of that with the project too?

The task here is to code up a "HTTP seed provider" -> HTTP meaning it would 
read some external data in a predefined format which would be parsed and it is 
responsibility of a user to provide such HTTP endpoint to read the metadata 
from. Cloud snitches are modelled like that too - they are just using HTTP to 
call cloud metadata services just in different ways. Would it be possible to 
not depend on cloud libraries but to code cloud seed providers in such a way 
that they would be still using HTTP under the hood?

Secondly, the point is to return, from a seed provider, list of addresses which 
are supposed to be seeds. I just do not see how putting a snitch into a seed 
provider achieves this.



> Implement Http Seed provider
> ----------------------------
>
>                 Key: CASSANDRA-13855
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13855
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Legacy/Coordination, Legacy/Core
>            Reporter: Jon Haddad
>            Assignee: Claude Warren
>            Priority: Low
>              Labels: lhf
>             Fix For: 5.x
>
>         Attachments: 0001-Add-URL-Seed-Provider-trunk.txt, signature.asc, 
> signature.asc, signature.asc
>
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Seems like including a dead simple seed provider that can fetch from a URL, 1 
> line per seed, would be useful.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to