Future<List<PartETag>> getFutures() {
        return partsFuture;
    }
The amount of time (in seconds) to wait for a {@link #multipartUploadId} when {@link #safelyAbortMultipartUpload} is
invoked. We use a finite amount of time (instead of waiting indefinitely) in case something went horribly wrong and the
multipart upload ID future was not completed.

This should be at least as long as it takes to finish an initiate-multipart-upload call.
aws-java-sdk-s3/src/main/java/com/amazonaws/services/s3/transfer/internal/UploadCallable.java