Package org.apache.hadoop.fs.impl
Class AbstractMultipartUploader
java.lang.Object
org.apache.hadoop.fs.impl.AbstractMultipartUploader
- All Implemented Interfaces:
Closeable,AutoCloseable,MultipartUploader,IOStatisticsSource
- Direct Known Subclasses:
FileSystemMultipartUploader
Standard base class for Multipart Uploaders.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabortUploadsUnderPath(Path path) Best effort attempt to aborts multipart uploads under a path.protected voidcheckPartHandles(Map<Integer, PartHandle> partHandles) Utility method to validate partHandles.protected voidValidate a path.protected voidcheckPutArguments(Path filePath, InputStream inputStream, int partNumber, UploadHandle uploadId, long lengthInBytes) Check all the arguments to theMultipartUploader.putPart(UploadHandle, int, boolean, Path, InputStream, long)operation.protected voidcheckUploadId(byte[] uploadId) Utility method to validate uploadIDs.voidclose()Perform any cleanup.protected PathMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.hadoop.fs.statistics.IOStatisticsSource
getIOStatisticsMethods inherited from interface org.apache.hadoop.fs.MultipartUploader
abort, complete, putPart, startUpload
-
Constructor Details
-
AbstractMultipartUploader
Instantiate.- Parameters:
basePath- base path
-
-
Method Details
-
close
Perform any cleanup. The upload is not required to support any operations after this.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException- problems on close.
-
getBasePath
-
checkPath
Validate a path.- Parameters:
path- path to check.
-
checkUploadId
Utility method to validate uploadIDs.- Parameters:
uploadId- Upload ID- Throws:
IllegalArgumentException- invalid ID
-
checkPartHandles
Utility method to validate partHandles.- Parameters:
partHandles- handles- Throws:
IllegalArgumentException- if the parts are invalid
-
checkPutArguments
protected void checkPutArguments(Path filePath, InputStream inputStream, int partNumber, UploadHandle uploadId, long lengthInBytes) throws IllegalArgumentException Check all the arguments to theMultipartUploader.putPart(UploadHandle, int, boolean, Path, InputStream, long)operation.- Parameters:
filePath- Target path for upload (asMultipartUploader.startUpload(Path)).inputStream- Data for this part. Implementations MUST close this stream after reading in the data.partNumber- Index of the part relative to others.uploadId- Identifier fromMultipartUploader.startUpload(Path).lengthInBytes- Target length to read from the stream.- Throws:
IllegalArgumentException- invalid argument
-
abortUploadsUnderPath
Best effort attempt to aborts multipart uploads under a path. Not all implementations support this, and those which do may be vulnerable to eventually consistent listings of current uploads -some may be missed..- Specified by:
abortUploadsUnderPathin interfaceMultipartUploader- Parameters:
path- path to abort uploads under.- Returns:
- a future to -1.
- Throws:
IOException- raised on errors performing I/O.
-