Update WASB driver to use the latest version (5.3.0) of SDK for Microsoft Azure Storage Clients. We are currently using version 4.2.0 of the SDK.
Azure Storage Clients changes between 4.2 and 5.3:
- Fixed a bug where the transactional MD5 check would fail when downloading a range of blob or file and the recovery action is performed on a subsection of the range.
- Fixed leaking connections for table requests.
- Fixed a bug where retries happened immediately when experiencing a network exception uploading data or getting the response.
- Fixed a bug where the response stream was not being closed on nonretryable exceptions.
- Fixed Exists() calls on Shares and Directories to now populate metadata. This was already being done for Files.
- Changed blob constants to support up to 256 MB on put blob for block blobs. The default value for put blob threshold has also been updated to half of the maximum, or 128 MB currently.
- Fixed a bug that prevented setting content MD5 to true when creating a new file.
- Fixed a bug where access conditions, options, and operation context were not being passed when calling openWriteExisting() on a page blob or a file.
- Fixed a bug where an exception was being thrown on a range get of a blob or file when the options disableContentMD5Validation is set to false and useTransactionalContentMD5 is set to true and there is no overall MD5.
- Fixed a bug where retries were happening immediately if a socket exception was thrown.
- In CloudFileShareProperties, setShareQuota() no longer asserts in bounds. This check has been moved to create() and uploadProperties() in CloudFileShare.
- Prefix support for listing files and directories.
- Added support for setting public access when creating a blob container
- The public access setting on a blob container is now a container property returned from downloadProperties.
- Add Message now modifies the PopReceipt, Id, NextVisibleTime, InsertionTime, and ExpirationTime properties of its CloudQueueMessage parameter.
- Populate content MD5 for range gets on Blobs and Files.
- Added support in Page Blob for incremental copy.
- Added large BlockBlob upload support. Blocks can now support sizes up to 100 MB.
- Added a new, memory-optimized upload strategy for the upload* APIs. This algorithm only applies for blocks greater than 4MB and when storeBlobContentMD5 and Client-Side Encryption are disabled.
- getQualifiedUri() has been deprecated for Blobs. Please use getSnapshotQualifiedUri() instead. This new function will return the blob including the snapshot (if present) and no SAS token.
- getQualifiedStorageUri() has been deprecated for Blobs. Please use getSnapshotQualifiedStorageUri() instead. This new function will return the blob including the snapshot (if present) and no SAS token.
- Fixed a bug where copying from a blob that included a SAS token and a snapshot ommitted the SAS token.
- Fixed a bug in client-side encryption for tables that was preventing the Java client from decrypting entities encrypted with the .NET client, and vice versa.
- Added support for server-side encryption.
- Added support for getBlobReferenceFromServer methods on CloudBlobContainer to support retrieving a blob without knowing its type.
- Fixed a bug in the retry policies where 300 status codes were being retried when they shouldn't be.
HADOOP-14490 Upgrade azure-storage sdk version >5.4.0
- is a clone of
HADOOP-14516 Update WASB driver to use the latest version (5.2.0) of SDK for Microsoft Azure Storage Clients
- is depended upon by
HADOOP-9991 Fix up Hadoop POMs, roll up JARs to latest versions
HADOOP-14552 Über-jira: WASB client phase II: performance and testing