in priam-cass-extensions/src/main/java/com/netflix/priam/cassandra/extensions/PriamStartupAgent.java [40:93]
private void setPriamProperties() {
String token = null;
String seeds = null;
boolean isReplace = false;
String replacedIp = "";
String extraEnvParams = null;
while (true) {
try {
token =
DataFetcher.fetchData(
"http://127.0.0.1:8080/Priam/REST/v1/cassconfig/get_token");
seeds =
DataFetcher.fetchData(
"http://127.0.0.1:8080/Priam/REST/v1/cassconfig/get_seeds");
isReplace =
Boolean.parseBoolean(
DataFetcher.fetchData(
"http://127.0.0.1:8080/Priam/REST/v1/cassconfig/is_replace_token"));
replacedIp =
DataFetcher.fetchData(
"http://127.0.0.1:8080/Priam/REST/v1/cassconfig/get_replaced_ip");
extraEnvParams =
DataFetcher.fetchData(
"http://127.0.0.1:8080/Priam/REST/v1/cassconfig/get_extra_env_params");
} catch (Exception e) {
System.out.println(
"Failed to obtain startup data from priam, can not start yet. will retry shortly");
e.printStackTrace();
}
if (token != null && seeds != null) break;
try {
Thread.sleep(5 * 1000);
} catch (InterruptedException e1) {
// do nothing.
}
}
System.setProperty("cassandra.initial_token", token);
setExtraEnvParams(extraEnvParams);
if (isReplace) {
System.out.println(
"Detect cassandra version : " + FBUtilities.getReleaseVersionString());
if (FBUtilities.getReleaseVersionString().compareTo(REPLACED_ADDRESS_MIN_VER) < 0) {
System.setProperty("cassandra.replace_token", token);
} else {
System.setProperty("cassandra.replace_address_first_boot", replacedIp);
}
}
}