in integration-framework/src/main/java/org/apache/cassandra/sidecar/testing/SharedClusterIntegrationTestBase.java [771:825]
static InstanceMetadata buildInstanceMetadata(Vertx vertx,
IInstance cassandraInstance,
CassandraVersionProvider versionProvider,
String sidecarVersion,
JmxConfiguration jmxConfiguration,
CQLSessionProvider session,
DnsResolver dnsResolver,
IsolatedDTestClassLoaderWrapper wrapper)
{
IInstanceConfig config = cassandraInstance.config();
String ipAddress = JMXUtil.getJmxHost(config);
String hostName;
try
{
hostName = dnsResolver.reverseResolve(ipAddress);
}
catch (UnknownHostException e)
{
hostName = ipAddress;
}
int port = tryGetIntConfig(config, "native_transport_port", 9042);
String[] dataDirectories = (String[]) config.get("data_file_directories");
String stagingDir = stagingDir(dataDirectories);
JmxClient jmxClient = new JmxClientProxy(wrapper,
JmxClient.builder()
.host(ipAddress)
.port(config.jmxPort())
.connectionMaxRetries(jmxConfiguration.maxRetries())
.connectionRetryDelay(jmxConfiguration.retryDelay()));
MetricRegistry metricRegistry = new MetricRegistry();
CassandraAdapterDelegate delegate = new CassandraAdapterDelegate(vertx,
config.num(),
versionProvider,
session,
jmxClient,
new DriverUtils(),
sidecarVersion,
ipAddress,
port,
new InstanceHealthMetrics(metricRegistry));
return InstanceMetadataImpl.builder()
.id(config.num())
.host(hostName)
.port(port)
.dataDirs(List.of(dataDirectories))
.cdcDir(config.getString("cdc_raw_directory"))
.commitlogDir(config.getString("commitlog_directory"))
.hintsDir(config.getString("hints_directory"))
.savedCachesDir(config.getString("saved_caches_directory"))
.stagingDir(stagingDir)
.delegate(delegate)
.metricRegistry(metricRegistry)
.build();
}