Example usage for com.amazonaws.services.s3.model UploadPartRequest getFile

List of usage examples for com.amazonaws.services.s3.model UploadPartRequest getFile

Introduction

In this page you can find the example usage for com.amazonaws.services.s3.model UploadPartRequest getFile.

Prototype

@Override
public File getFile() 

Source Link

Document

Returns the file containing the data to upload.

Usage

From source file:alluxio.underfs.s3a.S3ALowLevelOutputStream.java

License:Apache License

/**
 * Executes the upload part request./*  w  w w  .j a v  a2 s  .  c  om*/
 *
 * @param request the upload part request
 */
private void execUpload(UploadPartRequest request) {
    File file = request.getFile();
    ListenableFuture<PartETag> futureTag = mExecutor.submit((Callable) () -> {
        PartETag partETag;
        AmazonClientException lastException;
        try {
            do {
                try {
                    partETag = mClient.uploadPart(request).getPartETag();
                    return partETag;
                } catch (AmazonClientException e) {
                    lastException = e;
                }
            } while (mRetryPolicy.attempt());
        } finally {
            // Delete the uploaded or failed to upload file
            if (!file.delete()) {
                LOG.error("Failed to delete temporary file @ {}", file.getPath());
            }
        }
        throw new IOException("Fail to upload part " + request.getPartNumber() + " to " + request.getKey(),
                lastException);
    });
    mTagFutures.add(futureTag);
    LOG.debug("Submit upload part request. key={}, partNum={}, file={}, fileSize={}, lastPart={}.", mKey,
            request.getPartNumber(), file.getPath(), file.length(), request.isLastPart());
}