in src/main/java/org/apache/cassandra/sidecar/routes/sstableuploads/SSTableImportHandler.java [86:125]
public void handleInternal(RoutingContext context,
HttpServerRequest httpRequest,
String host,
SocketAddress remoteAddress,
SSTableImportRequest request)
{
uploadPathBuilder.build(host, request)
.onSuccess(uploadDirectory -> {
SSTableImporter.ImportOptions importOptions =
importOptions(host, request, uploadDirectory);
Future<Void> importResult = cache.get(importOptions, this::importSSTablesAsync);
if (importResult == null)
{
// cache is disabled
importResult = importSSTablesAsync(importOptions);
}
if (!importResult.isComplete())
{
logger.debug("ImportHandler accepted request={}, remoteAddress={}, instance={}",
request, remoteAddress, host);
context.response().setStatusCode(HttpResponseStatus.ACCEPTED.code()).end();
}
else if (importResult.failed())
{
processFailure(importResult.cause(), context, host, remoteAddress, request);
}
else
{
context.json(new SSTableImportResponse(true,
request.uploadId(),
request.keyspace(),
request.tableName()));
logger.debug("ImportHandler completed request={}, remoteAddress={}, instance={}",
request, remoteAddress, host);
}
})
.onFailure(cause -> processFailure(cause, context, host, remoteAddress, request));
}