Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-14552 Über-jira: WASB client phase II: performance and testing
  3. HADOOP-14516

Update WASB driver to use the latest version (5.2.0) of SDK for Microsoft Azure Storage Clients

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • 3.0.0-alpha3
    • None
    • fs/azure
    • None
    • The WASB FileSystem now uses version 5.2.0 of the Azure Storage SDK.
    • Patch

    Description

      Update WASB driver to use the latest version (5.2.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.2:

      • 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.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              Georgi Georgi Chalakov
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: