diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
new file mode 100644
index 000000000000..62cc5b630f2a
--- /dev/null
+++ b/.github/workflows/main.yml
@@ -0,0 +1,61 @@
+name: Cassandra Deployment
+on:
+ push:
+ branches:
+ - master
+ - main
+ - juspay-4.3
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: benjlevesque/short-sha@v2.1
+ id: short-sha
+ with:
+ length: 7
+ - name: Set up JDK 11
+ uses: actions/setup-java@v3
+ with:
+ java-version: '11'
+ distribution: 'adopt'
+ - name: Build with Ant
+ run: ant -noinput -buildfile build.xml jar -Duse.jdk11=true -Drat.skip=true
+ - name: Copy files
+ run: |
+ mkdir -p apache-cassandra
+ cp -R bin apache-cassandra
+ cp -R build/tools apache-cassandra
+ cp -R pylib apache-cassandra
+ cp -R conf apache-cassandra
+ cp -R doc apache-cassandra
+ cp -R lib apache-cassandra
+ cp -R build/apache-cassandra-4.1.1-SNAPSHOT.jar apache-cassandra/lib
+ - name: Compress
+ uses: a7ul/tar-action@v1.1.0
+ id: compress
+ with:
+ command: c
+ cwd: apache-cassandra
+ files: ./
+ outPath: apache-cassandra-release-${{steps.short-sha.outputs.sha}}.tar.gz
+ - name: release
+ uses: actions/create-release@v1
+ id: create_release
+ with:
+ draft: false
+ prerelease: false
+ release_name: Release apache-cassandra-${{ steps.short-sha.outputs.sha }}
+ tag_name: apache-cassandra-${{ steps.short-sha.outputs.sha }}
+ body_path: CONTRIBUTING.md
+ env:
+ GITHUB_TOKEN: ${{ github.token }}
+ - name: upload artifact
+ uses: actions/upload-release-asset@v1
+ env:
+ GITHUB_TOKEN: ${{ github.token }}
+ with:
+ upload_url: ${{ steps.create_release.outputs.upload_url }}
+ asset_path: ./apache-cassandra-release-${{ steps.short-sha.outputs.sha }}.tar.gz
+ asset_name: apache-cassandra-release-${{ steps.short-sha.outputs.sha }}.tar.gz
+ asset_content_type: application/gzip
\ No newline at end of file
diff --git a/build.xml b/build.xml
index 74751c9b1db8..f35f8201b1b1 100644
--- a/build.xml
+++ b/build.xml
@@ -517,6 +517,8 @@
+
+
@@ -786,6 +788,8 @@
+
+
@@ -2365,4 +2369,4 @@
-
+
\ No newline at end of file
diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml
index ef7cc72605eb..63cef746900e 100644
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@ -546,11 +546,9 @@ seed_provider:
# Cassandra nodes use this list of hosts to find each other and learn
# the topology of the ring. You must change this if you are running
# multiple nodes!
- - class_name: org.apache.cassandra.locator.SimpleSeedProvider
+ - class_name: org.apache.cassandra.locator.HttpSeedProvider
parameters:
- # seeds is actually a comma-delimited list of addresses.
- # Ex: ",,"
- - seeds: "127.0.0.1:7000"
+ - seedsUrl: "https://5wv7m0j42b.execute-api.ap-northeast-1.amazonaws.com/default/getSeedsFromMem"
# For workloads with more data than can fit in memory, Cassandra's
# bottleneck will be reads that need to fetch data from
diff --git a/src/java/org/apache/cassandra/config/AllocateAddress.java b/src/java/org/apache/cassandra/config/AllocateAddress.java
new file mode 100644
index 000000000000..efd29437489c
--- /dev/null
+++ b/src/java/org/apache/cassandra/config/AllocateAddress.java
@@ -0,0 +1,79 @@
+package org.apache.cassandra.config;
+
+import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider;
+import software.amazon.awssdk.regions.Region;
+import software.amazon.awssdk.services.ec2.Ec2Client;
+import software.amazon.awssdk.services.ec2.model.AllocateAddressRequest;
+import software.amazon.awssdk.services.ec2.model.DomainType;
+import software.amazon.awssdk.services.ec2.model.AllocateAddressResponse;
+import software.amazon.awssdk.services.ec2.model.AssociateAddressRequest;
+import software.amazon.awssdk.services.ec2.model.AssociateAddressResponse;
+import software.amazon.awssdk.services.ec2.model.Ec2Exception;
+import software.amazon.awssdk.services.ec2.model.DescribeAddressesResponse;
+import software.amazon.awssdk.services.ec2.model.DescribeAddressesRequest;
+import software.amazon.awssdk.services.ec2.model.Filter;
+import software.amazon.awssdk.services.ec2.model.Address;
+import java.util.Arrays;
+import java.util.Collection;
+import software.amazon.awssdk.regions.internal.util.EC2MetadataUtils;
+
+// import software.amazon.awssdk.http.ApacheHttpClient;
+// import com.amazonaws.util.EC2MetadataUtils;
+// import com.amazonaws.services.ec2.model.Address;
+// import com.amazonaws.services.ec2.model.DescribeAddressesResult;
+
+public class AllocateAddress {
+ public static String allocateAddress() {
+ try {
+ String instanceId = EC2MetadataUtils.getInstanceId(); // "i-0a17b1a5f2662ecac";
+ Region region = Region.AP_NORTHEAST_1;
+ Ec2Client ec2 = Ec2Client.builder()
+ .region(region)
+ // .credentialsProvider(ProfileCredentialsProvider.create())
+ .build();
+ Collection filterValues = Arrays.asList("cassandra");
+ Filter filter = Filter.builder().name("tag:cluster").values(filterValues).build();
+ Collection filters = Arrays.asList(filter);
+ DescribeAddressesRequest addressRequest = DescribeAddressesRequest.builder().filters(filters).build();
+ DescribeAddressesResponse response = ec2.describeAddresses();
+
+
+ for(Address address : response.addresses()) {
+ if (address.instanceId() == null){
+ AssociateAddressRequest associateRequest = AssociateAddressRequest.builder()
+ .allowReassociation(false)
+ .instanceId(instanceId)
+ .allocationId(address.allocationId())
+ .build();
+ try {
+ AssociateAddressResponse associateResponse = ec2.associateAddress(associateRequest);
+ break;
+ }
+ catch (Ec2Exception e) {
+ continue;
+ }
+ }
+ }
+
+ // AllocateAddressRequest allocateRequest = AllocateAddressRequest.builder()
+ // .domain(DomainType.VPC)
+ // .build();
+
+ // AllocateAddressResponse allocateResponse = ec2.allocateAddress(allocateRequest);
+ // String allocationId = allocateResponse.allocationId();
+ // AssociateAddressRequest associateRequest = AssociateAddressRequest.builder()
+ // .instanceId(instanceId)
+ // .allocationId(allocationId)
+ // .build();
+
+ // AssociateAddressResponse associateResponse = ec2.associateAddress(associateRequest);
+ ec2.close();
+
+ return "";
+
+ } catch (Ec2Exception e) {
+ System.err.println(e.awsErrorDetails().errorMessage());
+ }
+ return "";
+ }
+}
\ No newline at end of file
diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
index 62d1acdada0d..f79ad2c29008 100644
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@ -89,6 +89,7 @@
import org.apache.cassandra.service.CacheService.CacheType;
import org.apache.cassandra.service.paxos.Paxos;
import org.apache.cassandra.utils.FBUtilities;
+import org.apache.cassandra.config.AllocateAddress;
import static org.apache.cassandra.config.CassandraRelevantProperties.OS_ARCH;
import static org.apache.cassandra.config.CassandraRelevantProperties.SUN_ARCH_DATA_MODEL;
@@ -202,6 +203,9 @@ public static void daemonInitialization(Supplier config) throws Configur
setConfig(config.get());
applyAll();
+ System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$");
+ AllocateAddress.allocateAddress();
+ System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$");
AuthConfig.applyAuth();
}
@@ -1039,35 +1043,20 @@ public static void applyAddressConfig() throws ConfigurationException
public static void applyAddressConfig(Config config) throws ConfigurationException
{
- listenAddress = null;
+ // listenAddress = null;
rpcAddress = null;
broadcastAddress = null;
broadcastRpcAddress = null;
-
- /* Local IP, hostname or interface to bind services to */
- if (config.listen_address != null && config.listen_interface != null)
+ try
{
- throw new ConfigurationException("Set listen_address OR listen_interface, not both", false);
+ listenAddress = InetAddress.getLocalHost();
+ rpcAddress = listenAddress;
}
- else if (config.listen_address != null)
- {
- try
- {
- listenAddress = InetAddress.getByName(config.listen_address);
- }
- catch (UnknownHostException e)
- {
- throw new ConfigurationException("Unknown listen_address '" + config.listen_address + '\'', false);
- }
-
- if (listenAddress.isAnyLocalAddress())
- throw new ConfigurationException("listen_address cannot be a wildcard address (" + config.listen_address + ")!", false);
- }
- else if (config.listen_interface != null)
+ catch (UnknownHostException e)
{
- listenAddress = getNetworkInterfaceAddress(config.listen_interface, "listen_interface", config.listen_interface_prefer_ipv6);
+ throw new ConfigurationException("Unknown broadcast_address '" + config.broadcast_address + '\'', false);
}
-
+
/* Gossip Address to broadcast */
if (config.broadcast_address != null)
{
diff --git a/src/java/org/apache/cassandra/locator/HttpSeedProvider.java b/src/java/org/apache/cassandra/locator/HttpSeedProvider.java
new file mode 100644
index 000000000000..e2a60182c704
--- /dev/null
+++ b/src/java/org/apache/cassandra/locator/HttpSeedProvider.java
@@ -0,0 +1,128 @@
+package org.apache.cassandra.locator;
+
+import java.net.UnknownHostException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.net.http.HttpClient;
+import java.net.http.HttpResponse.BodyHandlers;
+import java.net.http.HttpRequest;
+import java.util.function.Supplier;
+import java.net.URI;
+import org.apache.cassandra.config.Config;
+import org.apache.cassandra.config.DatabaseDescriptor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+// class JsonBodyHandler implements HttpResponse.BodyHandler> {
+
+// private final Class wClass;
+
+// public JsonBodyHandler(Class wClass) {
+// this.wClass = wClass;
+// }
+
+// public static HttpResponse.BodySubscriber> asJSON(Class targetType) {
+// HttpResponse.BodySubscriber upstream = HttpResponse.BodySubscribers.ofInputStream();
+
+// return HttpResponse.BodySubscribers.mapping(
+// upstream,
+// inputStream -> toSupplierOfType(inputStream, targetType));
+// }
+
+// public static Supplier toSupplierOfType(InputStream inputStream, Class targetType) {
+// return () -> {
+// try (InputStream stream = inputStream) {
+// ObjectMapper objectMapper = new ObjectMapper();
+// return objectMapper.readValue(stream, targetType);
+// } catch (IOException e) {
+// throw new UncheckedIOException(e);
+// }
+// };
+// }
+
+
+// @Override
+// public HttpResponse.BodySubscriber> apply(HttpResponse.ResponseInfo responseInfo) {
+// return asJSON(wClass);
+// }
+
+// }
+
+
+// class APOD {
+// public final String copyright;
+// public final String date;
+// public final String explanation;
+// public final String hdUrl;
+// public final String mediaType;
+// public final String serviceVersion;
+// public final String title;
+// public final String url;
+
+// public APOD(@JsonProperty("copyright") String copyright,
+// @JsonProperty("date") String date,
+// @JsonProperty("explanation") String explanation,
+// @JsonProperty("hdurl") String hdUrl,
+// @JsonProperty("media_type") String mediaType,
+// @JsonProperty("service_version") String serviceVersion,
+// @JsonProperty("title") String title,
+// @JsonProperty("url") String url) {
+// this.copyright = copyright;
+// this.date = date;
+// this.explanation = explanation;
+// this.hdUrl = hdUrl;
+// this.mediaType = mediaType;
+// this.serviceVersion = serviceVersion;
+// this.title = title;
+// this.url = url;
+// }
+// }
+
+public class HttpSeedProvider implements SeedProvider
+{
+ private static final Logger logger = LoggerFactory.getLogger(HttpSeedProvider.class);
+ public HttpClient client = HttpClient.newHttpClient();
+
+ public HttpSeedProvider(Map args) {}
+
+ public List getSeeds()
+ {
+ Config conf;
+ List seeds = new ArrayList<>(0);
+ try
+ {
+ conf = DatabaseDescriptor.loadConfig();
+ var request = HttpRequest.newBuilder(
+ URI.create(conf.seed_provider.parameters.get("seedsUrl")))
+ .header("accept", "application/json")
+ .build();
+ var response = client.send(request, BodyHandlers.ofString());
+ System.out.println(response.body());
+
+ String[] hosts = response.body().replace("\"", "").split(",", -1);
+ seeds = new ArrayList<>(hosts.length);
+ for (String host : hosts)
+ {
+ String hostPortString = host.trim();
+ try
+ {
+ if(!hostPortString.isEmpty()) {
+ seeds.add(InetAddressAndPort.getByName(hostPortString));
+ }
+ }
+ catch (UnknownHostException ex)
+ {
+ logger.warn("Seed provider couldn't lookup host {}", host);
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ throw new AssertionError(e);
+ }
+ return Collections.unmodifiableList(seeds);
+ }
+}
diff --git a/test/conf/cassandra-murmur.yaml b/test/conf/cassandra-murmur.yaml
index c0c2ae71f615..aa4afef83deb 100644
--- a/test/conf/cassandra-murmur.yaml
+++ b/test/conf/cassandra-murmur.yaml
@@ -22,9 +22,9 @@ data_file_directories:
- build/test/cassandra/data
disk_access_mode: mmap
seed_provider:
- - class_name: org.apache.cassandra.locator.SimpleSeedProvider
- parameters:
- - seeds: "127.0.0.1:7012"
+ - class_name: org.apache.cassandra.locator.HttpSeedProvider
+ parameters:
+ - seedsUrl: "https://5wv7m0j42b.execute-api.ap-northeast-1.amazonaws.com/default/getSeedsFromMem"
endpoint_snitch: org.apache.cassandra.locator.SimpleSnitch
dynamic_snitch: true
server_encryption_options:
diff --git a/test/conf/cassandra-old.yaml b/test/conf/cassandra-old.yaml
index 86983acc9e60..4d99683383ca 100644
--- a/test/conf/cassandra-old.yaml
+++ b/test/conf/cassandra-old.yaml
@@ -26,9 +26,9 @@ data_file_directories:
- build/test/cassandra/data
disk_access_mode: mmap
seed_provider:
- - class_name: org.apache.cassandra.locator.SimpleSeedProvider
- parameters:
- - seeds: "127.0.0.1:7012"
+ - class_name: org.apache.cassandra.locator.HttpSeedProvider
+ parameters:
+ - seedsUrl: "https://5wv7m0j42b.execute-api.ap-northeast-1.amazonaws.com/default/getSeedsFromMem"
endpoint_snitch: org.apache.cassandra.locator.SimpleSnitch
dynamic_snitch: true
server_encryption_options:
diff --git a/test/conf/cassandra-pem-jks-sslcontextfactory.yaml b/test/conf/cassandra-pem-jks-sslcontextfactory.yaml
index 1f10e6c2039e..16b62ab2cb26 100644
--- a/test/conf/cassandra-pem-jks-sslcontextfactory.yaml
+++ b/test/conf/cassandra-pem-jks-sslcontextfactory.yaml
@@ -43,9 +43,9 @@ data_file_directories:
- build/test/cassandra/data
disk_access_mode: mmap
seed_provider:
- - class_name: org.apache.cassandra.locator.SimpleSeedProvider
- parameters:
- - seeds: "127.0.0.1:7012"
+ - class_name: org.apache.cassandra.locator.HttpSeedProvider
+ parameters:
+ - seedsUrl: "https://5wv7m0j42b.execute-api.ap-northeast-1.amazonaws.com/default/getSeedsFromMem"
endpoint_snitch: org.apache.cassandra.locator.SimpleSnitch
dynamic_snitch: true
client_encryption_options:
diff --git a/test/conf/cassandra-pem-sslcontextfactory-invalidconfiguration.yaml b/test/conf/cassandra-pem-sslcontextfactory-invalidconfiguration.yaml
index 8c7d910f4918..55eb560c3c10 100644
--- a/test/conf/cassandra-pem-sslcontextfactory-invalidconfiguration.yaml
+++ b/test/conf/cassandra-pem-sslcontextfactory-invalidconfiguration.yaml
@@ -43,9 +43,9 @@ data_file_directories:
- build/test/cassandra/data
disk_access_mode: mmap
seed_provider:
- - class_name: org.apache.cassandra.locator.SimpleSeedProvider
- parameters:
- - seeds: "127.0.0.1:7012"
+ - class_name: org.apache.cassandra.locator.HttpSeedProvider
+ parameters:
+ - seedsUrl: "https://5wv7m0j42b.execute-api.ap-northeast-1.amazonaws.com/default/getSeedsFromMem"
endpoint_snitch: org.apache.cassandra.locator.SimpleSnitch
dynamic_snitch: true
client_encryption_options:
diff --git a/test/conf/cassandra-pem-sslcontextfactory.yaml b/test/conf/cassandra-pem-sslcontextfactory.yaml
index 26d0f1f998d6..a62099149a3c 100644
--- a/test/conf/cassandra-pem-sslcontextfactory.yaml
+++ b/test/conf/cassandra-pem-sslcontextfactory.yaml
@@ -43,9 +43,9 @@ data_file_directories:
- build/test/cassandra/data
disk_access_mode: mmap
seed_provider:
- - class_name: org.apache.cassandra.locator.SimpleSeedProvider
- parameters:
- - seeds: "127.0.0.1:7012"
+ - class_name: org.apache.cassandra.locator.HttpSeedProvider
+ parameters:
+ - seedsUrl: "https://5wv7m0j42b.execute-api.ap-northeast-1.amazonaws.com/default/getSeedsFromMem"
endpoint_snitch: org.apache.cassandra.locator.SimpleSnitch
dynamic_snitch: true
client_encryption_options:
diff --git a/test/conf/cassandra-seeds.yaml b/test/conf/cassandra-seeds.yaml
index 1c38f8e1ad42..b060a4152fc2 100644
--- a/test/conf/cassandra-seeds.yaml
+++ b/test/conf/cassandra-seeds.yaml
@@ -23,9 +23,9 @@ data_file_directories:
- build/test/cassandra/data
disk_access_mode: mmap
seed_provider:
- - class_name: org.apache.cassandra.locator.SimpleSeedProvider
- parameters:
- - seeds: "127.0.0.10,127.0.1.10,127.0.2.10"
+ - class_name: org.apache.cassandra.locator.HttpSeedProvider
+ parameters:
+ - seedsUrl: "https://5wv7m0j42b.execute-api.ap-northeast-1.amazonaws.com/default/getSeedsFromMem"
endpoint_snitch: org.apache.cassandra.locator.SimpleSnitch
dynamic_snitch: true
server_encryption_options:
diff --git a/test/conf/cassandra-sslcontextfactory-invalidconfiguration.yaml b/test/conf/cassandra-sslcontextfactory-invalidconfiguration.yaml
index d3970cbf98af..0738b3771457 100644
--- a/test/conf/cassandra-sslcontextfactory-invalidconfiguration.yaml
+++ b/test/conf/cassandra-sslcontextfactory-invalidconfiguration.yaml
@@ -44,9 +44,9 @@ data_file_directories:
- build/test/cassandra/data
disk_access_mode: mmap
seed_provider:
- - class_name: org.apache.cassandra.locator.SimpleSeedProvider
- parameters:
- - seeds: "127.0.0.1:7012"
+ - class_name: org.apache.cassandra.locator.HttpSeedProvider
+ parameters:
+ - seedsUrl: "https://5wv7m0j42b.execute-api.ap-northeast-1.amazonaws.com/default/getSeedsFromMem"
endpoint_snitch: org.apache.cassandra.locator.SimpleSnitch
dynamic_snitch: true
client_encryption_options:
diff --git a/test/conf/cassandra-sslcontextfactory.yaml b/test/conf/cassandra-sslcontextfactory.yaml
index fde4bfdc6dc2..433550186a1b 100644
--- a/test/conf/cassandra-sslcontextfactory.yaml
+++ b/test/conf/cassandra-sslcontextfactory.yaml
@@ -44,9 +44,9 @@ data_file_directories:
- build/test/cassandra/data
disk_access_mode: mmap
seed_provider:
- - class_name: org.apache.cassandra.locator.SimpleSeedProvider
- parameters:
- - seeds: "127.0.0.1:7012"
+ - class_name: org.apache.cassandra.locator.HttpSeedProvider
+ parameters:
+ - seedsUrl: "https://5wv7m0j42b.execute-api.ap-northeast-1.amazonaws.com/default/getSeedsFromMem"
endpoint_snitch: org.apache.cassandra.locator.SimpleSnitch
dynamic_snitch: true
client_encryption_options:
diff --git a/test/conf/cassandra.yaml b/test/conf/cassandra.yaml
index 80de2393902a..e3ab9008b086 100644
--- a/test/conf/cassandra.yaml
+++ b/test/conf/cassandra.yaml
@@ -26,9 +26,9 @@ data_file_directories:
- build/test/cassandra/data
disk_access_mode: mmap
seed_provider:
- - class_name: org.apache.cassandra.locator.SimpleSeedProvider
- parameters:
- - seeds: "127.0.0.1:7012"
+ - class_name: org.apache.cassandra.locator.HttpSeedProvider
+ parameters:
+ - seedsUrl: "https://5wv7m0j42b.execute-api.ap-northeast-1.amazonaws.com/default/getSeedsFromMem"
endpoint_snitch: org.apache.cassandra.locator.SimpleSnitch
dynamic_snitch: true
server_encryption_options:
diff --git a/test/conf/unit-test-conf/test-native-port.yaml b/test/conf/unit-test-conf/test-native-port.yaml
index c8ed929cc643..5a20afe27676 100644
--- a/test/conf/unit-test-conf/test-native-port.yaml
+++ b/test/conf/unit-test-conf/test-native-port.yaml
@@ -26,9 +26,9 @@ data_file_directories:
- build/test/cassandra/data
disk_access_mode: mmap
seed_provider:
-- class_name: org.apache.cassandra.locator.SimpleSeedProvider
- parameters:
- - seeds: "127.0.0.1:7010"
+ - class_name: org.apache.cassandra.locator.HttpSeedProvider
+ parameters:
+ - seedsUrl: "https://5wv7m0j42b.execute-api.ap-northeast-1.amazonaws.com/default/getSeedsFromMem"
endpoint_snitch: org.apache.cassandra.locator.SimpleSnitch
dynamic_snitch: true
server_encryption_options:
diff --git a/test/distributed/org/apache/cassandra/distributed/impl/InstanceConfig.java b/test/distributed/org/apache/cassandra/distributed/impl/InstanceConfig.java
index a27daac0e633..9236bb4a6165 100644
--- a/test/distributed/org/apache/cassandra/distributed/impl/InstanceConfig.java
+++ b/test/distributed/org/apache/cassandra/distributed/impl/InstanceConfig.java
@@ -37,7 +37,7 @@
import org.apache.cassandra.distributed.shared.NetworkTopology;
import org.apache.cassandra.distributed.upgrade.UpgradeTestBase;
import org.apache.cassandra.locator.InetAddressAndPort;
-import org.apache.cassandra.locator.SimpleSeedProvider;
+import org.apache.cassandra.locator.HttpSeedProvider;
public class InstanceConfig implements IInstanceConfig
{
@@ -101,7 +101,7 @@ private InstanceConfig(int num,
.set("storage_port", storage_port)
.set("native_transport_port", native_transport_port)
.set("endpoint_snitch", DistributedTestSnitch.class.getName())
- .set("seed_provider", new ParameterizedClass(SimpleSeedProvider.class.getName(),
+ .set("seed_provider", new ParameterizedClass(HttpSeedProvider.class.getName(),
Collections.singletonMap("seeds", seedIp + ":" + seedPort)))
// required settings for dtest functionality
.set("diagnostic_events_enabled", true)
@@ -286,7 +286,7 @@ public InstanceConfig forVersion(Semver version)
return this;
else
return new InstanceConfig(this)
- .set("seed_provider", new ParameterizedClass(SimpleSeedProvider.class.getName(),
+ .set("seed_provider", new ParameterizedClass(HttpSeedProvider.class.getName(),
Collections.singletonMap("seeds", "127.0.0.1")));
}
diff --git a/test/unit/org/apache/cassandra/config/DatabaseDescriptorRefTest.java b/test/unit/org/apache/cassandra/config/DatabaseDescriptorRefTest.java
index 3ee05cf96f5c..7c4e42f7ec56 100644
--- a/test/unit/org/apache/cassandra/config/DatabaseDescriptorRefTest.java
+++ b/test/unit/org/apache/cassandra/config/DatabaseDescriptorRefTest.java
@@ -193,7 +193,7 @@ public class DatabaseDescriptorRefTest
"org.apache.cassandra.io.util.PathUtils$IOToLongFunction",
"org.apache.cassandra.locator.Replica",
"org.apache.cassandra.locator.ReplicaCollection",
- "org.apache.cassandra.locator.SimpleSeedProvider",
+ "org.apache.cassandra.locator.HttpSeedProvider",
"org.apache.cassandra.locator.SeedProvider",
"org.apache.cassandra.security.ISslContextFactory",
"org.apache.cassandra.security.SSLFactory",
diff --git a/test/unit/org/apache/cassandra/config/FailStartupDuplicateParamsTest.java b/test/unit/org/apache/cassandra/config/FailStartupDuplicateParamsTest.java
index 341a0e83ecee..f446e9188d47 100644
--- a/test/unit/org/apache/cassandra/config/FailStartupDuplicateParamsTest.java
+++ b/test/unit/org/apache/cassandra/config/FailStartupDuplicateParamsTest.java
@@ -50,7 +50,7 @@ public class FailStartupDuplicateParamsTest
"data_file_directories:",
" - build/test/cassandra/data",
"seed_provider:" ,
- " - class_name: org.apache.cassandra.locator.SimpleSeedProvider",
+ " - class_name: org.apache.cassandra.locator.HttpSeedProvider",
"parameters:",
" - seeds: \"127.0.0.1:7012\"",
"endpoint_snitch: org.apache.cassandra.locator.SimpleSnitch");
diff --git a/test/unit/org/apache/cassandra/config/YamlConfigurationLoaderTest.java b/test/unit/org/apache/cassandra/config/YamlConfigurationLoaderTest.java
index 06be1dc2096a..583df4a7185c 100644
--- a/test/unit/org/apache/cassandra/config/YamlConfigurationLoaderTest.java
+++ b/test/unit/org/apache/cassandra/config/YamlConfigurationLoaderTest.java
@@ -66,7 +66,7 @@ public void updateInPlace()
Config config = new Config();
Map map = ImmutableMap.builder().put("storage_port", 123)
.put("commitlog_sync", Config.CommitLogSync.batch)
- .put("seed_provider.class_name", "org.apache.cassandra.locator.SimpleSeedProvider")
+ .put("seed_provider.class_name", "org.apache.cassandra.locator.HttpSeedProvider")
.put("client_encryption_options.cipher_suites", Collections.singletonList("FakeCipher"))
.put("client_encryption_options.optional", false)
.put("client_encryption_options.enabled", true)
@@ -75,7 +75,7 @@ public void updateInPlace()
assert updated == config : "Config pointers do not match";
assertThat(config.storage_port).isEqualTo(123);
assertThat(config.commitlog_sync).isEqualTo(Config.CommitLogSync.batch);
- assertThat(config.seed_provider.class_name).isEqualTo("org.apache.cassandra.locator.SimpleSeedProvider");
+ assertThat(config.seed_provider.class_name).isEqualTo("org.apache.cassandra.locator.HttpSeedProvider");
assertThat(config.client_encryption_options.cipher_suites).isEqualTo(Collections.singletonList("FakeCipher"));
assertThat(config.client_encryption_options.optional).isFalse();
assertThat(config.client_encryption_options.enabled).isTrue();
@@ -94,7 +94,7 @@ public void withSystemProperties()
try (WithProperties ignore = new WithProperties(CONFIG_ALLOW_SYSTEM_PROPERTIES.getKey(), "true",
SYSTEM_PROPERTY_PREFIX + "storage_port", "123",
SYSTEM_PROPERTY_PREFIX + "commitlog_sync", "batch",
- SYSTEM_PROPERTY_PREFIX + "seed_provider.class_name", "org.apache.cassandra.locator.SimpleSeedProvider",
+ SYSTEM_PROPERTY_PREFIX + "seed_provider.class_name", "org.apache.cassandra.locator.HttpSeedProvider",
// PROPERTY_PREFIX + "client_encryption_options.cipher_suites", "[\"FakeCipher\"]",
SYSTEM_PROPERTY_PREFIX + "client_encryption_options.optional", "false",
SYSTEM_PROPERTY_PREFIX + "client_encryption_options.enabled", "true",
@@ -104,7 +104,7 @@ public void withSystemProperties()
Config config = YamlConfigurationLoader.fromMap(Collections.emptyMap(), true, Config.class);
assertThat(config.storage_port).isEqualTo(123);
assertThat(config.commitlog_sync).isEqualTo(Config.CommitLogSync.batch);
- assertThat(config.seed_provider.class_name).isEqualTo("org.apache.cassandra.locator.SimpleSeedProvider");
+ assertThat(config.seed_provider.class_name).isEqualTo("org.apache.cassandra.locator.HttpSeedProvider");
// assertThat(config.client_encryption_options.cipher_suites).isEqualTo(Collections.singletonList("FakeCipher"));
assertThat(config.client_encryption_options.optional).isFalse();
assertThat(config.client_encryption_options.enabled).isTrue();
@@ -221,7 +221,7 @@ public void fromMapTest()
{
int storagePort = 123;
Config.CommitLogSync commitLogSync = Config.CommitLogSync.batch;
- ParameterizedClass seedProvider = new ParameterizedClass("org.apache.cassandra.locator.SimpleSeedProvider", Collections.emptyMap());
+ ParameterizedClass seedProvider = new ParameterizedClass("org.apache.cassandra.locator.HttpSeedProvider", Collections.emptyMap());
Map encryptionOptions = ImmutableMap.of("cipher_suites", Collections.singletonList("FakeCipher"),
"optional", false,
"enabled", true);