public class TransferManagerConfiguration
extends java.lang.Object
TransferManager
processes requests.
The best configuration settings depend on network configuration, latency and bandwidth. The default configuration settings are suitable for most applications, but this class enables developers to experiment with different configurations and tune transfer manager performance.
Modifier and Type | Field and Description |
---|---|
private static long |
DEFAULT_MINIMUM_COPY_PART_SIZE
Default minimum size of each part for multi-part copy.
|
private static int |
DEFAULT_MINIMUM_UPLOAD_PART_SIZE
Default minimum part size for upload parts.
|
private static long |
DEFAULT_MULTIPART_COPY_THRESHOLD
Default size threshold for Amazon S3 object after which multi-part copy is initiated.
|
private static long |
DEFAULT_MULTIPART_UPLOAD_THRESHOLD
Default size threshold for when to use multipart uploads.
|
private long |
minimumUploadPartSize
The minimum part size for upload parts.
|
private long |
multipartCopyPartSize
The minimum size in bytes of each part when a multi-part copy operation
is carried out.
|
private long |
multipartCopyThreshold
The size threshold, in bytes, for when to use multi-part copy.
|
private long |
multipartUploadThreshold
The size threshold, in bytes, for when to use multipart uploads.
|
Constructor and Description |
---|
TransferManagerConfiguration() |
Modifier and Type | Method and Description |
---|---|
long |
getMinimumUploadPartSize()
Returns the minimum part size for upload parts.
|
long |
getMultipartCopyPartSize()
Returns the minimum size in bytes of each part in a multi-part copy
request.
|
long |
getMultipartCopyThreshold()
Returns the maximum threshold size of an Amazon S3 object after which the
copy operation is carried out using multi-part request.
|
long |
getMultipartUploadThreshold()
Returns the size threshold in bytes for when to use multipart uploads.
|
void |
setMinimumUploadPartSize(long minimumUploadPartSize)
Sets the minimum part size for upload parts.
|
void |
setMultipartCopyPartSize(long multipartCopyPartSize)
Sets the minimum part size in bytes for each part in a multi-part copy
request.
|
void |
setMultipartCopyThreshold(long multipartCopyThreshold)
Sets the size threshold in bytes for when to use multi-part copy
requests.
|
void |
setMultipartUploadThreshold(int multipartUploadThreshold)
Deprecated.
replaced by
setMultipartUploadThreshold(long) |
void |
setMultipartUploadThreshold(long multipartUploadThreshold)
Sets the size threshold in bytes for when to use multipart uploads.
|
private static final int DEFAULT_MINIMUM_UPLOAD_PART_SIZE
private static final long DEFAULT_MULTIPART_UPLOAD_THRESHOLD
private static final long DEFAULT_MULTIPART_COPY_THRESHOLD
private static final long DEFAULT_MINIMUM_COPY_PART_SIZE
private long minimumUploadPartSize
private long multipartUploadThreshold
Multipart uploads are easier to recover from and also potentially faster than single part uploads, especially when the upload parts can be uploaded in parallel as with files. Because there is additional network communication, small uploads are still recommended to use a single connection for the upload.
private long multipartCopyThreshold
private long multipartCopyPartSize
public long getMinimumUploadPartSize()
public void setMinimumUploadPartSize(long minimumUploadPartSize)
minimumUploadPartSize
- The minimum part size for upload parts.public long getMultipartUploadThreshold()
Multipart uploads are easier to recover from and potentially faster than single part uploads, especially when the upload parts can be uploaded in parallel as with files. Due to additional network communication, small uploads should use a single connection for the upload.
public void setMultipartUploadThreshold(long multipartUploadThreshold)
Multipart uploads are easier to recover from and potentially faster than single part uploads, especially when the upload parts can be uploaded in parallel as with files. Due to additional network communication, small uploads should use a single connection for the upload.
multipartUploadThreshold
- The size threshold in bytes for when to use multipart
uploads.public long getMultipartCopyPartSize()
public void setMultipartCopyPartSize(long multipartCopyPartSize)
multipartCopyPartSize
- The minimum size in bytes for each part in a multi part copy
request.public long getMultipartCopyThreshold()
public void setMultipartCopyThreshold(long multipartCopyThreshold)
multipartCopyThreshold
- The size threshold in bytes for when to use multi part copy.@Deprecated public void setMultipartUploadThreshold(int multipartUploadThreshold)
setMultipartUploadThreshold(long)
Multipart uploads are easier to recover from and potentially faster than single part uploads, especially when the upload parts can be uploaded in parallel as with files. Due to additional network communication, small uploads should use a single connection for the upload. This reversed the backward incompatibility with Hadoop 2.7 and S3A filesystem introduced in AWS SDK v1.7.6 by this pull request: https://github.com/aws/aws-sdk-java/pull/201 See details (on error message, and fix targeted for Hadoop 2.8) here: - https://issues.apache.org/jira/browse/HADOOP-12420 - https://issues.apache.org/jira/browse/HADOOP-12496 - https://issues.apache.org/jira/browse/HADOOP-12269 Once Hadoop 2.8 (which uses aws-sdk 1.10.6 or later) is used commonly, this may be removed
multipartUploadThreshold
- The size threshold in bytes for when to use multipart
uploads.