in cassandra-analytics-core/src/main/java/org/apache/cassandra/spark/bulkwriter/CassandraClusterInfo.java [421:451]
protected GossipInfoResponse getGossipInfo(boolean forceRefresh)
{
GossipInfoResponse currentGossipInfo = gossipInfo;
if (!forceRefresh && currentGossipInfo != null)
{
return currentGossipInfo;
}
synchronized (this)
{
if (forceRefresh || gossipInfo == null)
{
try
{
gossipInfo = cassandraContext.getSidecarClient().gossipInfo().get(conf.getHttpResponseTimeoutMs(),
TimeUnit.MILLISECONDS);
}
catch (ExecutionException | InterruptedException exception)
{
LOGGER.error("Failed to retrieve gossip information");
throw new RuntimeException("Failed to retrieve gossip information", exception);
}
catch (TimeoutException exception)
{
Thread.currentThread().interrupt();
throw new RuntimeException("Failed to retrieve gossip information", exception);
}
}
return gossipInfo;
}
}