in src/main/java/org/apache/cassandra/sidecar/routes/sstableuploads/SSTableCleanupHandler.java [63:93]
public void handleInternal(RoutingContext context,
HttpServerRequest httpRequest,
String host,
SocketAddress remoteAddress,
String uploadId)
{
uploadPathBuilder.resolveUploadIdDirectory(host, uploadId)
.compose(uploadPathBuilder::isValidDirectory)
.compose(stagingDirectory -> context.vertx()
.fileSystem()
.deleteRecursive(stagingDirectory, true))
.onSuccess(x -> context.response().end())
.onFailure(cause -> {
if (cause instanceof NoSuchFileException)
{
logger.warn("Upload directory not found. uploadId={}, remoteAddress={}, instance={}",
uploadId, remoteAddress, host, cause);
context.fail(HttpResponseStatus.NOT_FOUND.code());
}
else if (cause instanceof IllegalArgumentException)
{
context.fail(HttpResponseStatus.BAD_REQUEST.code(), cause);
}
else
{
logger.error("Unable to cleanup upload. uploadId={}, remoteAddress={}, instance={}",
uploadId, remoteAddress, host, cause);
context.fail(HttpResponseStatus.INTERNAL_SERVER_ERROR.code());
}
});
}