diff --git a/src/main/java/io/cryostat/recordings/RecordingHelper.java b/src/main/java/io/cryostat/recordings/RecordingHelper.java index b4205db68..84374c2b9 100644 --- a/src/main/java/io/cryostat/recordings/RecordingHelper.java +++ b/src/main/java/io/cryostat/recordings/RecordingHelper.java @@ -126,7 +126,6 @@ import org.quartz.TriggerBuilder; import org.quartz.plugins.interrupt.JobInterruptMonitorPlugin; import software.amazon.awssdk.core.async.AsyncRequestBody; -import software.amazon.awssdk.services.s3.S3AsyncClient; import software.amazon.awssdk.services.s3.S3Client; import software.amazon.awssdk.services.s3.model.DeleteObjectRequest; import software.amazon.awssdk.services.s3.model.GetObjectRequest; @@ -145,6 +144,7 @@ import software.amazon.awssdk.services.s3.presigner.model.GetObjectPresignRequest; import software.amazon.awssdk.transfer.s3.S3TransferManager; import software.amazon.awssdk.transfer.s3.model.UploadFileRequest; +import software.amazon.awssdk.transfer.s3.model.UploadRequest; /** * Utility class for all things relating to Flight Recording operations. This class is used to @@ -167,7 +167,6 @@ public class RecordingHelper { public static final String DATASOURCE_FILENAME = "cryostat-analysis.jfr"; @Inject S3Client storage; - @Inject S3AsyncClient storageAsync; @Inject S3TransferManager transferManager; final ExecutorService partUploader = Executors.newVirtualThreadPerTaskExecutor(); @@ -1022,10 +1021,15 @@ public ArchivedRecording archiveRecording(ActiveRecording recording) throws Exce default: throw new IllegalStateException(); } - storageAsync - .putObject( - builder.build(), - AsyncRequestBody.fromInputStream(stream, null, partUploader)) + transferManager + .upload( + UploadRequest.builder() + .putObjectRequest(builder.build()) + .requestBody( + AsyncRequestBody.fromInputStream( + stream, null, partUploader)) + .build()) + .completionFuture() .join(); } ArchivedRecording archivedRecording =