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

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

Introduction

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

Prototype

public int getPartNumber() 

Source Link

Document

Returns the part number describing this part's position relative to the other parts in the multipart upload.

Usage

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

License:Apache License

/**
 * Executes the upload part request.//w  ww .  j  av a2s.c  o m
 *
 * @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());
}

From source file:com.netflix.exhibitor.core.backup.s3.MockS3Client.java

License:Apache License

@Override
public synchronized UploadPartResult uploadPart(UploadPartRequest request) throws Exception {
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    ByteStreams.copy(request.getInputStream(), out);

    uploadedBytes.add(out.toByteArray());

    byte[] md5bytes = S3Utils.md5(out.toByteArray(), out.size());

    UploadPartResult result = new UploadPartResult();
    result.setPartNumber(request.getPartNumber());
    result.setETag(S3Utils.toHex(md5bytes));
    return result;
}