@Override public Void call() throws Exception { try { // Use a random sleep before each part begins upload. Too many concurrent requests // starting around the same time leads to 409 conflicts. Thread.sleep( random.nextInt( MAX_RANDOM_SLEEP_BEFORE_UPLOAD_START_MS)); UploadPartResponse response = simpleRetry.createUploadPartFunction().apply(request); manifest.registerSuccess(request.getUploadPartNum(), response); } catch (Exception e) { LOG.debug("Failed to upload part", e); manifest.registerFailure(request.getUploadPartNum()); } return null; } });
public synchronized void startTransfer(final UploadPartRequest request) { if (executor.isShutdown()) { throw new CancellationException("Executor used for transfers has been shutdown"); } manifest.registerTransfer(request.getUploadPartNum()); Future<Void> futureResponse = executor.submit( new Callable<Void>() { @Override public Void call() throws Exception { try { // Use a random sleep before each part begins upload. Too many concurrent requests // starting around the same time leads to 409 conflicts. Thread.sleep( random.nextInt( MAX_RANDOM_SLEEP_BEFORE_UPLOAD_START_MS)); UploadPartResponse response = simpleRetry.createUploadPartFunction().apply(request); manifest.registerSuccess(request.getUploadPartNum(), response); } catch (Exception e) { LOG.debug("Failed to upload part", e); manifest.registerFailure(request.getUploadPartNum()); } return null; } }); responses.add(futureResponse); }
Validate.notBlank(request.getObjectName(), "objectName must not be blank"); Validate.notNull(request.getUploadId(), "uploadId is required"); Validate.notNull(request.getUploadPartNum(), "uploadPartNum is required"); Validate.notNull(request.getUploadPartBody(), "uploadPartBody is required"); "uploadPartNum", com.oracle.bmc.util.internal.HttpUtils.attemptEncodeQueryParam( request.getUploadPartNum()));
/** * Copy method to populate the builder with values from the given instance. * @return this builder instance */ public Builder copy(UploadPartRequest o) { namespaceName(o.getNamespaceName()); bucketName(o.getBucketName()); objectName(o.getObjectName()); uploadId(o.getUploadId()); uploadPartNum(o.getUploadPartNum()); contentLength(o.getContentLength()); uploadPartBody(o.getUploadPartBody()); opcClientRequestId(o.getOpcClientRequestId()); ifMatch(o.getIfMatch()); ifNoneMatch(o.getIfNoneMatch()); expect(o.getExpect()); contentMD5(o.getContentMD5()); invocationCallback(o.getInvocationCallback()); return this; }