From f59ab214a6779d6fd2a4496f6c2e4b8445258770 Mon Sep 17 00:00:00 2001 From: Kan Tang Date: Thu, 8 Oct 2020 23:30:35 -0700 Subject: [PATCH] Integrate storage retry policy. (#722) * Integrate storage retry policy. * Removed the logic to make URL empty when '.blob.' is not found in URL. --- .../files/datalake/datalake_options.hpp | 15 +++++++++++ .../src/datalake_directory_client.cpp | 20 +++++++++----- .../src/datalake_file_client.cpp | 22 ++++++++++----- .../src/datalake_file_system_client.cpp | 25 ++++++++++++----- .../src/datalake_path_client.cpp | 27 ++++++++++++++----- .../src/datalake_service_client.cpp | 22 ++++++++++----- .../src/datalake_utilities.cpp | 6 ----- .../storage/files/shares/share_options.hpp | 21 +++++++++++++++ .../src/share_client.cpp | 10 +++---- .../src/share_directory_client.cpp | 10 +++---- .../src/share_file_client.cpp | 10 +++---- .../src/share_service_client.cpp | 10 +++---- 12 files changed, 137 insertions(+), 61 deletions(-) diff --git a/sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/datalake_options.hpp b/sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/datalake_options.hpp index 750c2abe3..a11530acf 100644 --- a/sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/datalake_options.hpp +++ b/sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/datalake_options.hpp @@ -25,6 +25,11 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { std::vector> PerOperationPolicies; std::vector> PerRetryPolicies; + + /** + * @brief Specify the number of retries and other retry-related options. + */ + StorageRetryWithSecondaryOptions RetryOptions; }; /** @@ -34,6 +39,11 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { std::vector> PerOperationPolicies; std::vector> PerRetryPolicies; + + /** + * @brief Specify the number of retries and other retry-related options. + */ + StorageRetryWithSecondaryOptions RetryOptions; }; /** @@ -43,6 +53,11 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { std::vector> PerOperationPolicies; std::vector> PerRetryPolicies; + + /** + * @brief Specify the number of retries and other retry-related options. + */ + StorageRetryWithSecondaryOptions RetryOptions; }; /** diff --git a/sdk/storage/azure-storage-files-datalake/src/datalake_directory_client.cpp b/sdk/storage/azure-storage-files-datalake/src/datalake_directory_client.cpp index 5130574cb..3433c3e07 100644 --- a/sdk/storage/azure-storage-files-datalake/src/datalake_directory_client.cpp +++ b/sdk/storage/azure-storage-files-datalake/src/datalake_directory_client.cpp @@ -10,6 +10,7 @@ #include "azure/storage/common/shared_key_policy.hpp" #include "azure/storage/common/storage_common.hpp" #include "azure/storage/common/storage_per_retry_policy.hpp" +#include "azure/storage/common/storage_retry_policy.hpp" #include "azure/storage/common/storage_version.hpp" #include "azure/storage/files/datalake/datalake_file_client.hpp" #include "azure/storage/files/datalake/datalake_utilities.hpp" @@ -55,12 +56,15 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { policies.emplace_back(p->Clone()); } - policies.emplace_back( - std::make_unique(Azure::Core::Http::RetryOptions())); + StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions; + dfsRetryOptions.SecondaryHostForRetryReads + = Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads); + policies.emplace_back(std::make_unique(dfsRetryOptions)); for (const auto& p : options.PerRetryPolicies) { policies.emplace_back(p->Clone()); } + policies.emplace_back(std::make_unique()); policies.emplace_back(std::make_unique(credential)); policies.emplace_back(std::make_unique( @@ -82,8 +86,10 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { policies.emplace_back(p->Clone()); } - policies.emplace_back( - std::make_unique(Azure::Core::Http::RetryOptions())); + StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions; + dfsRetryOptions.SecondaryHostForRetryReads + = Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads); + policies.emplace_back(std::make_unique(dfsRetryOptions)); for (const auto& p : options.PerRetryPolicies) { policies.emplace_back(p->Clone()); @@ -110,8 +116,10 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { policies.emplace_back(p->Clone()); } - policies.emplace_back( - std::make_unique(Azure::Core::Http::RetryOptions())); + StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions; + dfsRetryOptions.SecondaryHostForRetryReads + = Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads); + policies.emplace_back(std::make_unique(dfsRetryOptions)); for (const auto& p : options.PerRetryPolicies) { policies.emplace_back(p->Clone()); diff --git a/sdk/storage/azure-storage-files-datalake/src/datalake_file_client.cpp b/sdk/storage/azure-storage-files-datalake/src/datalake_file_client.cpp index 7d0e37002..2c0dff278 100644 --- a/sdk/storage/azure-storage-files-datalake/src/datalake_file_client.cpp +++ b/sdk/storage/azure-storage-files-datalake/src/datalake_file_client.cpp @@ -10,6 +10,7 @@ #include "azure/storage/common/shared_key_policy.hpp" #include "azure/storage/common/storage_common.hpp" #include "azure/storage/common/storage_per_retry_policy.hpp" +#include "azure/storage/common/storage_retry_policy.hpp" #include "azure/storage/common/storage_version.hpp" #include "azure/storage/files/datalake/datalake_utilities.hpp" @@ -133,12 +134,15 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { policies.emplace_back(p->Clone()); } - policies.emplace_back( - std::make_unique(Azure::Core::Http::RetryOptions())); + StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions; + dfsRetryOptions.SecondaryHostForRetryReads + = Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads); + policies.emplace_back(std::make_unique(dfsRetryOptions)); for (const auto& p : options.PerRetryPolicies) { policies.emplace_back(p->Clone()); } + policies.emplace_back(std::make_unique()); policies.emplace_back(std::make_unique(credential)); policies.emplace_back(std::make_unique( @@ -161,12 +165,15 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { policies.emplace_back(p->Clone()); } - policies.emplace_back( - std::make_unique(Azure::Core::Http::RetryOptions())); + StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions; + dfsRetryOptions.SecondaryHostForRetryReads + = Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads); + policies.emplace_back(std::make_unique(dfsRetryOptions)); for (const auto& p : options.PerRetryPolicies) { policies.emplace_back(p->Clone()); } + policies.emplace_back(std::make_unique()); policies.emplace_back( std::make_unique( @@ -187,12 +194,15 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { policies.emplace_back(p->Clone()); } - policies.emplace_back( - std::make_unique(Azure::Core::Http::RetryOptions())); + StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions; + dfsRetryOptions.SecondaryHostForRetryReads + = Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads); + policies.emplace_back(std::make_unique(dfsRetryOptions)); for (const auto& p : options.PerRetryPolicies) { policies.emplace_back(p->Clone()); } + policies.emplace_back(std::make_unique()); policies.emplace_back(std::make_unique( std::make_shared())); diff --git a/sdk/storage/azure-storage-files-datalake/src/datalake_file_system_client.cpp b/sdk/storage/azure-storage-files-datalake/src/datalake_file_system_client.cpp index 17e6ccaeb..2caa64505 100644 --- a/sdk/storage/azure-storage-files-datalake/src/datalake_file_system_client.cpp +++ b/sdk/storage/azure-storage-files-datalake/src/datalake_file_system_client.cpp @@ -11,6 +11,7 @@ #include "azure/storage/common/shared_key_policy.hpp" #include "azure/storage/common/storage_common.hpp" #include "azure/storage/common/storage_per_retry_policy.hpp" +#include "azure/storage/common/storage_retry_policy.hpp" #include "azure/storage/common/storage_version.hpp" #include "azure/storage/files/datalake/datalake_directory_client.hpp" #include "azure/storage/files/datalake/datalake_file_client.hpp" @@ -31,6 +32,9 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { blobOptions.PerRetryPolicies.emplace_back(p->Clone()); } + blobOptions.RetryOptions = options.RetryOptions; + blobOptions.RetryOptions.SecondaryHostForRetryReads + = Details::GetBlobUriFromUri(options.RetryOptions.SecondaryHostForRetryReads); return blobOptions; } } // namespace @@ -74,12 +78,15 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { policies.emplace_back(p->Clone()); } - policies.emplace_back( - std::make_unique(Azure::Core::Http::RetryOptions())); + StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions; + dfsRetryOptions.SecondaryHostForRetryReads + = Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads); + policies.emplace_back(std::make_unique(dfsRetryOptions)); for (const auto& p : options.PerRetryPolicies) { policies.emplace_back(p->Clone()); } + policies.emplace_back(std::make_unique()); policies.emplace_back(std::make_unique(credential)); policies.emplace_back(std::make_unique( @@ -105,12 +112,15 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { policies.emplace_back(p->Clone()); } - policies.emplace_back( - std::make_unique(Azure::Core::Http::RetryOptions())); + StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions; + dfsRetryOptions.SecondaryHostForRetryReads + = Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads); + policies.emplace_back(std::make_unique(dfsRetryOptions)); for (const auto& p : options.PerRetryPolicies) { policies.emplace_back(p->Clone()); } + policies.emplace_back(std::make_unique()); policies.emplace_back( std::make_unique( @@ -136,12 +146,15 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { policies.emplace_back(p->Clone()); } - policies.emplace_back( - std::make_unique(Azure::Core::Http::RetryOptions())); + StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions; + dfsRetryOptions.SecondaryHostForRetryReads + = Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads); + policies.emplace_back(std::make_unique(dfsRetryOptions)); for (const auto& p : options.PerRetryPolicies) { policies.emplace_back(p->Clone()); } + policies.emplace_back(std::make_unique()); policies.emplace_back(std::make_unique( std::make_shared())); diff --git a/sdk/storage/azure-storage-files-datalake/src/datalake_path_client.cpp b/sdk/storage/azure-storage-files-datalake/src/datalake_path_client.cpp index d469abf7f..2ac8a74f1 100644 --- a/sdk/storage/azure-storage-files-datalake/src/datalake_path_client.cpp +++ b/sdk/storage/azure-storage-files-datalake/src/datalake_path_client.cpp @@ -10,6 +10,7 @@ #include "azure/storage/common/shared_key_policy.hpp" #include "azure/storage/common/storage_common.hpp" #include "azure/storage/common/storage_per_retry_policy.hpp" +#include "azure/storage/common/storage_retry_policy.hpp" #include "azure/storage/common/storage_version.hpp" #include "azure/storage/files/datalake/datalake_utilities.hpp" @@ -29,6 +30,9 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { blobOptions.PerRetryPolicies.emplace_back(p->Clone()); } + blobOptions.RetryOptions = options.RetryOptions; + blobOptions.RetryOptions.SecondaryHostForRetryReads + = Details::GetBlobUriFromUri(options.RetryOptions.SecondaryHostForRetryReads); return blobOptions; } @@ -114,12 +118,15 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { policies.emplace_back(p->Clone()); } - policies.emplace_back( - std::make_unique(Azure::Core::Http::RetryOptions())); + StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions; + dfsRetryOptions.SecondaryHostForRetryReads + = Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads); + policies.emplace_back(std::make_unique(dfsRetryOptions)); for (const auto& p : options.PerRetryPolicies) { policies.emplace_back(p->Clone()); } + policies.emplace_back(std::make_unique()); policies.emplace_back(std::make_unique(credential)); policies.emplace_back(std::make_unique( @@ -142,12 +149,15 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { policies.emplace_back(p->Clone()); } - policies.emplace_back( - std::make_unique(Azure::Core::Http::RetryOptions())); + StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions; + dfsRetryOptions.SecondaryHostForRetryReads + = Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads); + policies.emplace_back(std::make_unique(dfsRetryOptions)); for (const auto& p : options.PerRetryPolicies) { policies.emplace_back(p->Clone()); } + policies.emplace_back(std::make_unique()); policies.emplace_back( std::make_unique( @@ -169,13 +179,16 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { policies.emplace_back(p->Clone()); } - policies.emplace_back( - std::make_unique(Azure::Core::Http::RetryOptions())); + StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions; + dfsRetryOptions.SecondaryHostForRetryReads + = Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads); + policies.emplace_back(std::make_unique(dfsRetryOptions)); + policies.emplace_back(std::make_unique()); for (const auto& p : options.PerRetryPolicies) { policies.emplace_back(p->Clone()); } - policies.emplace_back(std::make_unique()); + policies.emplace_back(std::make_unique( std::make_shared())); m_pipeline = std::make_shared(policies); diff --git a/sdk/storage/azure-storage-files-datalake/src/datalake_service_client.cpp b/sdk/storage/azure-storage-files-datalake/src/datalake_service_client.cpp index 2d0083a65..387ff5c34 100644 --- a/sdk/storage/azure-storage-files-datalake/src/datalake_service_client.cpp +++ b/sdk/storage/azure-storage-files-datalake/src/datalake_service_client.cpp @@ -11,6 +11,7 @@ #include "azure/storage/common/storage_common.hpp" #include "azure/storage/common/storage_credential.hpp" #include "azure/storage/common/storage_per_retry_policy.hpp" +#include "azure/storage/common/storage_retry_policy.hpp" #include "azure/storage/common/storage_version.hpp" #include "azure/storage/files/datalake/datalake_file_system_client.hpp" #include "azure/storage/files/datalake/datalake_utilities.hpp" @@ -28,6 +29,9 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { blobOptions.PerRetryPolicies.emplace_back(p->Clone()); } + blobOptions.RetryOptions = options.RetryOptions; + blobOptions.RetryOptions.SecondaryHostForRetryReads + = Details::GetBlobUriFromUri(options.RetryOptions.SecondaryHostForRetryReads); return blobOptions; } @@ -82,8 +86,10 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { policies.emplace_back(p->Clone()); } - policies.emplace_back( - std::make_unique(Azure::Core::Http::RetryOptions())); + StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions; + dfsRetryOptions.SecondaryHostForRetryReads + = Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads); + policies.emplace_back(std::make_unique(dfsRetryOptions)); for (const auto& p : options.PerRetryPolicies) { policies.emplace_back(p->Clone()); @@ -112,8 +118,10 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { policies.emplace_back(p->Clone()); } - policies.emplace_back( - std::make_unique(Azure::Core::Http::RetryOptions())); + StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions; + dfsRetryOptions.SecondaryHostForRetryReads + = Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads); + policies.emplace_back(std::make_unique(dfsRetryOptions)); for (const auto& p : options.PerRetryPolicies) { policies.emplace_back(p->Clone()); @@ -140,8 +148,10 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { policies.emplace_back(p->Clone()); } - policies.emplace_back( - std::make_unique(Azure::Core::Http::RetryOptions())); + StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions; + dfsRetryOptions.SecondaryHostForRetryReads + = Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads); + policies.emplace_back(std::make_unique(dfsRetryOptions)); for (const auto& p : options.PerRetryPolicies) { policies.emplace_back(p->Clone()); diff --git a/sdk/storage/azure-storage-files-datalake/src/datalake_utilities.cpp b/sdk/storage/azure-storage-files-datalake/src/datalake_utilities.cpp index 0a3fd3507..454d89c82 100644 --- a/sdk/storage/azure-storage-files-datalake/src/datalake_utilities.cpp +++ b/sdk/storage/azure-storage-files-datalake/src/datalake_utilities.cpp @@ -30,12 +30,6 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { nam { result.replace(pos, c_BlobEndPointIdentifier.size(), c_DfsEndPointIdentifier); } - // DfsUri will be empty if there is no dfs endpoint. - pos = result.find(c_DfsEndPointIdentifier); - if (pos == std::string::npos) - { - result.clear(); - } return result; } diff --git a/sdk/storage/azure-storage-files-shares/inc/azure/storage/files/shares/share_options.hpp b/sdk/storage/azure-storage-files-shares/inc/azure/storage/files/shares/share_options.hpp index e23373b20..1b3fb7548 100644 --- a/sdk/storage/azure-storage-files-shares/inc/azure/storage/files/shares/share_options.hpp +++ b/sdk/storage/azure-storage-files-shares/inc/azure/storage/files/shares/share_options.hpp @@ -5,6 +5,7 @@ #include "azure/core/nullable.hpp" #include "azure/storage/common/access_conditions.hpp" +#include "azure/storage/common/storage_retry_policy.hpp" #include "azure/storage/files/shares/protocol/share_rest_client.hpp" #include "azure/storage/files/shares/share_responses.hpp" @@ -22,6 +23,11 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { std::vector> PerOperationPolicies; std::vector> PerRetryPolicies; + + /** + * @brief Specify the number of retries and other retry-related options. + */ + StorageRetryOptions RetryOptions; }; /** @@ -31,6 +37,11 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { std::vector> PerOperationPolicies; std::vector> PerRetryPolicies; + + /** + * @brief Specify the number of retries and other retry-related options. + */ + StorageRetryOptions RetryOptions; }; /** @@ -40,6 +51,11 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { std::vector> PerOperationPolicies; std::vector> PerRetryPolicies; + + /** + * @brief Specify the number of retries and other retry-related options. + */ + StorageRetryOptions RetryOptions; }; /** @@ -49,6 +65,11 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { std::vector> PerOperationPolicies; std::vector> PerRetryPolicies; + + /** + * @brief Specify the number of retries and other retry-related options. + */ + StorageRetryOptions RetryOptions; }; struct ListSharesSegmentOptions diff --git a/sdk/storage/azure-storage-files-shares/src/share_client.cpp b/sdk/storage/azure-storage-files-shares/src/share_client.cpp index d8989b9cb..e4ac472c0 100644 --- a/sdk/storage/azure-storage-files-shares/src/share_client.cpp +++ b/sdk/storage/azure-storage-files-shares/src/share_client.cpp @@ -10,6 +10,7 @@ #include "azure/storage/common/shared_key_policy.hpp" #include "azure/storage/common/storage_common.hpp" #include "azure/storage/common/storage_per_retry_policy.hpp" +#include "azure/storage/common/storage_retry_policy.hpp" #include "azure/storage/common/storage_version.hpp" #include "azure/storage/files/shares/share_directory_client.hpp" #include "azure/storage/files/shares/share_file_client.hpp" @@ -50,8 +51,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { policies.emplace_back(p->Clone()); } - policies.emplace_back( - std::make_unique(Azure::Core::Http::RetryOptions())); + policies.emplace_back(std::make_unique(options.RetryOptions)); for (const auto& p : options.PerRetryPolicies) { policies.emplace_back(p->Clone()); @@ -77,8 +77,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { policies.emplace_back(p->Clone()); } - policies.emplace_back( - std::make_unique(Azure::Core::Http::RetryOptions())); + policies.emplace_back(std::make_unique(options.RetryOptions)); for (const auto& p : options.PerRetryPolicies) { policies.emplace_back(p->Clone()); @@ -103,8 +102,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { policies.emplace_back(p->Clone()); } - policies.emplace_back( - std::make_unique(Azure::Core::Http::RetryOptions())); + policies.emplace_back(std::make_unique(options.RetryOptions)); for (const auto& p : options.PerRetryPolicies) { policies.emplace_back(p->Clone()); diff --git a/sdk/storage/azure-storage-files-shares/src/share_directory_client.cpp b/sdk/storage/azure-storage-files-shares/src/share_directory_client.cpp index b2a423ad5..193cdb946 100644 --- a/sdk/storage/azure-storage-files-shares/src/share_directory_client.cpp +++ b/sdk/storage/azure-storage-files-shares/src/share_directory_client.cpp @@ -10,6 +10,7 @@ #include "azure/storage/common/shared_key_policy.hpp" #include "azure/storage/common/storage_common.hpp" #include "azure/storage/common/storage_per_retry_policy.hpp" +#include "azure/storage/common/storage_retry_policy.hpp" #include "azure/storage/common/storage_version.hpp" #include "azure/storage/files/shares/share_file_client.hpp" @@ -51,8 +52,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { policies.emplace_back(p->Clone()); } - policies.emplace_back( - std::make_unique(Azure::Core::Http::RetryOptions())); + policies.emplace_back(std::make_unique(options.RetryOptions)); for (const auto& p : options.PerRetryPolicies) { policies.emplace_back(p->Clone()); @@ -78,8 +78,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { policies.emplace_back(p->Clone()); } - policies.emplace_back( - std::make_unique(Azure::Core::Http::RetryOptions())); + policies.emplace_back(std::make_unique(options.RetryOptions)); for (const auto& p : options.PerRetryPolicies) { policies.emplace_back(p->Clone()); @@ -106,8 +105,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { policies.emplace_back(p->Clone()); } - policies.emplace_back( - std::make_unique(Azure::Core::Http::RetryOptions())); + policies.emplace_back(std::make_unique(options.RetryOptions)); for (const auto& p : options.PerRetryPolicies) { policies.emplace_back(p->Clone()); diff --git a/sdk/storage/azure-storage-files-shares/src/share_file_client.cpp b/sdk/storage/azure-storage-files-shares/src/share_file_client.cpp index 81bbd3503..7abf788d3 100644 --- a/sdk/storage/azure-storage-files-shares/src/share_file_client.cpp +++ b/sdk/storage/azure-storage-files-shares/src/share_file_client.cpp @@ -13,6 +13,7 @@ #include "azure/storage/common/shared_key_policy.hpp" #include "azure/storage/common/storage_common.hpp" #include "azure/storage/common/storage_per_retry_policy.hpp" +#include "azure/storage/common/storage_retry_policy.hpp" #include "azure/storage/common/storage_version.hpp" #include "azure/storage/files/shares/share_constants.hpp" @@ -54,8 +55,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { policies.emplace_back(p->Clone()); } - policies.emplace_back( - std::make_unique(Azure::Core::Http::RetryOptions())); + policies.emplace_back(std::make_unique(options.RetryOptions)); for (const auto& p : options.PerRetryPolicies) { policies.emplace_back(p->Clone()); @@ -81,8 +81,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { policies.emplace_back(p->Clone()); } - policies.emplace_back( - std::make_unique(Azure::Core::Http::RetryOptions())); + policies.emplace_back(std::make_unique(options.RetryOptions)); for (const auto& p : options.PerRetryPolicies) { policies.emplace_back(p->Clone()); @@ -107,8 +106,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { policies.emplace_back(p->Clone()); } - policies.emplace_back( - std::make_unique(Azure::Core::Http::RetryOptions())); + policies.emplace_back(std::make_unique()); for (const auto& p : options.PerRetryPolicies) { policies.emplace_back(p->Clone()); diff --git a/sdk/storage/azure-storage-files-shares/src/share_service_client.cpp b/sdk/storage/azure-storage-files-shares/src/share_service_client.cpp index 1b5ece17f..18fadaeb7 100644 --- a/sdk/storage/azure-storage-files-shares/src/share_service_client.cpp +++ b/sdk/storage/azure-storage-files-shares/src/share_service_client.cpp @@ -10,6 +10,7 @@ #include "azure/storage/common/storage_common.hpp" #include "azure/storage/common/storage_credential.hpp" #include "azure/storage/common/storage_per_retry_policy.hpp" +#include "azure/storage/common/storage_retry_policy.hpp" #include "azure/storage/common/storage_version.hpp" #include "azure/storage/files/shares/share_client.hpp" @@ -46,8 +47,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { policies.emplace_back(p->Clone()); } - policies.emplace_back( - std::make_unique(Azure::Core::Http::RetryOptions())); + policies.emplace_back(std::make_unique(options.RetryOptions)); for (const auto& p : options.PerRetryPolicies) { policies.emplace_back(p->Clone()); @@ -73,8 +73,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { policies.emplace_back(p->Clone()); } - policies.emplace_back( - std::make_unique(Azure::Core::Http::RetryOptions())); + policies.emplace_back(std::make_unique(options.RetryOptions)); for (const auto& p : options.PerRetryPolicies) { policies.emplace_back(p->Clone()); @@ -99,8 +98,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { policies.emplace_back(p->Clone()); } - policies.emplace_back( - std::make_unique(Azure::Core::Http::RetryOptions())); + policies.emplace_back(std::make_unique()); for (const auto& p : options.PerRetryPolicies) { policies.emplace_back(p->Clone());