Showing content from https://cloud.google.com/cpp/docs/reference/bigquery/2.21.0/bigquery-override-retry below:
C++ Client Libraries | Google Cloud
Skip to main content
- Overview
-
Library reference docs
- Cloud BigQuery C++ Client Library
-
Namespaces
-
google::cloud::bigquery_analyticshub_v1
- Overview
-
Classes
-
AnalyticsHubServiceClient
- Overview
-
Functions
- ListDataExchanges(std::string const &, Options)
- ListDataExchanges(google::cloud::bigquery::analyticshub::v1::ListDataExchangesRequest, Options)
- ListOrgDataExchanges(std::string const &, Options)
- ListOrgDataExchanges(google::cloud::bigquery::analyticshub::v1::ListOrgDataExchangesRequest, Options)
- GetDataExchange(std::string const &, Options)
- GetDataExchange(google::cloud::bigquery::analyticshub::v1::GetDataExchangeRequest const &, Options)
- CreateDataExchange(std::string const &, google::cloud::bigquery::analyticshub::v1::DataExchange const &, Options)
- CreateDataExchange(google::cloud::bigquery::analyticshub::v1::CreateDataExchangeRequest const &, Options)
- UpdateDataExchange(google::cloud::bigquery::analyticshub::v1::DataExchange const &, google::protobuf::FieldMask const &, Options)
- UpdateDataExchange(google::cloud::bigquery::analyticshub::v1::UpdateDataExchangeRequest const &, Options)
- DeleteDataExchange(std::string const &, Options)
- DeleteDataExchange(google::cloud::bigquery::analyticshub::v1::DeleteDataExchangeRequest const &, Options)
- ListListings(std::string const &, Options)
- ListListings(google::cloud::bigquery::analyticshub::v1::ListListingsRequest, Options)
- GetListing(std::string const &, Options)
- GetListing(google::cloud::bigquery::analyticshub::v1::GetListingRequest const &, Options)
- CreateListing(std::string const &, google::cloud::bigquery::analyticshub::v1::Listing const &, Options)
- CreateListing(google::cloud::bigquery::analyticshub::v1::CreateListingRequest const &, Options)
- UpdateListing(google::cloud::bigquery::analyticshub::v1::Listing const &, google::protobuf::FieldMask const &, Options)
- UpdateListing(google::cloud::bigquery::analyticshub::v1::UpdateListingRequest const &, Options)
- DeleteListing(std::string const &, Options)
- DeleteListing(google::cloud::bigquery::analyticshub::v1::DeleteListingRequest const &, Options)
- SubscribeListing(std::string const &, Options)
- SubscribeListing(google::cloud::bigquery::analyticshub::v1::SubscribeListingRequest const &, Options)
- SubscribeDataExchange(std::string const &, Options)
- SubscribeDataExchange(google::cloud::bigquery::analyticshub::v1::SubscribeDataExchangeRequest const &, Options)
- RefreshSubscription(std::string const &, Options)
- RefreshSubscription(google::cloud::bigquery::analyticshub::v1::RefreshSubscriptionRequest const &, Options)
- GetSubscription(std::string const &, Options)
- GetSubscription(google::cloud::bigquery::analyticshub::v1::GetSubscriptionRequest const &, Options)
- ListSubscriptions(std::string const &, Options)
- ListSubscriptions(google::cloud::bigquery::analyticshub::v1::ListSubscriptionsRequest, Options)
- ListSharedResourceSubscriptions(std::string const &, Options)
- ListSharedResourceSubscriptions(google::cloud::bigquery::analyticshub::v1::ListSharedResourceSubscriptionsRequest, Options)
- RevokeSubscription(std::string const &, Options)
- RevokeSubscription(google::cloud::bigquery::analyticshub::v1::RevokeSubscriptionRequest const &, Options)
- DeleteSubscription(std::string const &, Options)
- DeleteSubscription(google::cloud::bigquery::analyticshub::v1::DeleteSubscriptionRequest const &, Options)
- GetIamPolicy(google::iam::v1::GetIamPolicyRequest const &, Options)
- SetIamPolicy(google::iam::v1::SetIamPolicyRequest const &, Options)
- TestIamPermissions(google::iam::v1::TestIamPermissionsRequest const &, Options)
-
AnalyticsHubServiceConnectionIdempotencyPolicy
-
AnalyticsHubServiceLimitedErrorCountRetryPolicy
-
AnalyticsHubServiceLimitedTimeRetryPolicy
-
Structs
-
AnalyticsHubServiceBackoffPolicyOption
-
AnalyticsHubServiceConnectionIdempotencyPolicyOption
-
AnalyticsHubServicePollingPolicyOption
-
AnalyticsHubServiceRetryPolicyOption
-
google::cloud::bigquery_analyticshub_v1_mocks
-
google::cloud::bigquery_biglake_v1
- Overview
-
Classes
-
MetastoreServiceClient
- Overview
-
Functions
- CreateCatalog(std::string const &, google::cloud::bigquery::biglake::v1::Catalog const &, std::string const &, Options)
- CreateCatalog(google::cloud::bigquery::biglake::v1::CreateCatalogRequest const &, Options)
- DeleteCatalog(std::string const &, Options)
- DeleteCatalog(google::cloud::bigquery::biglake::v1::DeleteCatalogRequest const &, Options)
- GetCatalog(std::string const &, Options)
- GetCatalog(google::cloud::bigquery::biglake::v1::GetCatalogRequest const &, Options)
- ListCatalogs(std::string const &, Options)
- ListCatalogs(google::cloud::bigquery::biglake::v1::ListCatalogsRequest, Options)
- CreateDatabase(std::string const &, google::cloud::bigquery::biglake::v1::Database const &, std::string const &, Options)
- CreateDatabase(google::cloud::bigquery::biglake::v1::CreateDatabaseRequest const &, Options)
- DeleteDatabase(std::string const &, Options)
- DeleteDatabase(google::cloud::bigquery::biglake::v1::DeleteDatabaseRequest const &, Options)
- UpdateDatabase(google::cloud::bigquery::biglake::v1::Database const &, google::protobuf::FieldMask const &, Options)
- UpdateDatabase(google::cloud::bigquery::biglake::v1::UpdateDatabaseRequest const &, Options)
- GetDatabase(std::string const &, Options)
- GetDatabase(google::cloud::bigquery::biglake::v1::GetDatabaseRequest const &, Options)
- ListDatabases(std::string const &, Options)
- ListDatabases(google::cloud::bigquery::biglake::v1::ListDatabasesRequest, Options)
- CreateTable(std::string const &, google::cloud::bigquery::biglake::v1::Table const &, std::string const &, Options)
- CreateTable(google::cloud::bigquery::biglake::v1::CreateTableRequest const &, Options)
- DeleteTable(std::string const &, Options)
- DeleteTable(google::cloud::bigquery::biglake::v1::DeleteTableRequest const &, Options)
- UpdateTable(google::cloud::bigquery::biglake::v1::Table const &, google::protobuf::FieldMask const &, Options)
- UpdateTable(google::cloud::bigquery::biglake::v1::UpdateTableRequest const &, Options)
- RenameTable(std::string const &, std::string const &, Options)
- RenameTable(google::cloud::bigquery::biglake::v1::RenameTableRequest const &, Options)
- GetTable(std::string const &, Options)
- GetTable(google::cloud::bigquery::biglake::v1::GetTableRequest const &, Options)
- ListTables(std::string const &, Options)
- ListTables(google::cloud::bigquery::biglake::v1::ListTablesRequest, Options)
-
MetastoreServiceConnectionIdempotencyPolicy
-
MetastoreServiceLimitedErrorCountRetryPolicy
-
MetastoreServiceLimitedTimeRetryPolicy
-
Structs
-
MetastoreServiceBackoffPolicyOption
-
MetastoreServiceConnectionIdempotencyPolicyOption
-
MetastoreServiceRetryPolicyOption
-
google::cloud::bigquery_biglake_v1_mocks
-
google::cloud::bigquery_connection_v1
- Overview
-
Classes
-
ConnectionServiceClient
- Overview
-
Functions
- CreateConnection(std::string const &, google::cloud::bigquery::connection::v1::Connection const &, std::string const &, Options)
- CreateConnection(google::cloud::bigquery::connection::v1::CreateConnectionRequest const &, Options)
- GetConnection(std::string const &, Options)
- GetConnection(google::cloud::bigquery::connection::v1::GetConnectionRequest const &, Options)
- ListConnections(std::string const &, Options)
- ListConnections(google::cloud::bigquery::connection::v1::ListConnectionsRequest, Options)
- UpdateConnection(std::string const &, google::cloud::bigquery::connection::v1::Connection const &, google::protobuf::FieldMask const &, Options)
- UpdateConnection(google::cloud::bigquery::connection::v1::UpdateConnectionRequest const &, Options)
- DeleteConnection(std::string const &, Options)
- DeleteConnection(google::cloud::bigquery::connection::v1::DeleteConnectionRequest const &, Options)
- GetIamPolicy(std::string const &, google::iam::v1::GetPolicyOptions const &, Options)
- GetIamPolicy(google::iam::v1::GetIamPolicyRequest const &, Options)
- SetIamPolicy(std::string const &, google::iam::v1::Policy const &, Options)
- SetIamPolicy(google::iam::v1::SetIamPolicyRequest const &, Options)
- TestIamPermissions(std::string const &, std::vector< std::string > const &, Options)
- TestIamPermissions(google::iam::v1::TestIamPermissionsRequest const &, Options)
-
ConnectionServiceConnectionIdempotencyPolicy
-
ConnectionServiceLimitedErrorCountRetryPolicy
-
ConnectionServiceLimitedTimeRetryPolicy
-
Structs
-
ConnectionServiceBackoffPolicyOption
-
ConnectionServiceConnectionIdempotencyPolicyOption
-
ConnectionServiceRetryPolicyOption
-
google::cloud::bigquery_connection_v1_mocks
-
google::cloud::bigquery_datapolicies_v1
- Overview
-
Classes
-
DataPolicyServiceClient
- Overview
-
Functions
- CreateDataPolicy(std::string const &, google::cloud::bigquery::datapolicies::v1::DataPolicy const &, Options)
- CreateDataPolicy(google::cloud::bigquery::datapolicies::v1::CreateDataPolicyRequest const &, Options)
- UpdateDataPolicy(google::cloud::bigquery::datapolicies::v1::DataPolicy const &, google::protobuf::FieldMask const &, Options)
- UpdateDataPolicy(google::cloud::bigquery::datapolicies::v1::UpdateDataPolicyRequest const &, Options)
- RenameDataPolicy(std::string const &, std::string const &, Options)
- RenameDataPolicy(google::cloud::bigquery::datapolicies::v1::RenameDataPolicyRequest const &, Options)
- DeleteDataPolicy(std::string const &, Options)
- DeleteDataPolicy(google::cloud::bigquery::datapolicies::v1::DeleteDataPolicyRequest const &, Options)
- GetDataPolicy(std::string const &, Options)
- GetDataPolicy(google::cloud::bigquery::datapolicies::v1::GetDataPolicyRequest const &, Options)
- ListDataPolicies(std::string const &, Options)
- ListDataPolicies(google::cloud::bigquery::datapolicies::v1::ListDataPoliciesRequest, Options)
- GetIamPolicy(google::iam::v1::GetIamPolicyRequest const &, Options)
- SetIamPolicy(google::iam::v1::SetIamPolicyRequest const &, Options)
- TestIamPermissions(google::iam::v1::TestIamPermissionsRequest const &, Options)
-
DataPolicyServiceConnectionIdempotencyPolicy
-
DataPolicyServiceLimitedErrorCountRetryPolicy
-
DataPolicyServiceLimitedTimeRetryPolicy
-
Structs
-
DataPolicyServiceBackoffPolicyOption
-
DataPolicyServiceConnectionIdempotencyPolicyOption
-
DataPolicyServiceRetryPolicyOption
-
google::cloud::bigquery_datapolicies_v1_mocks
-
google::cloud::bigquery_datatransfer_v1
- Overview
-
Classes
-
DataTransferServiceClient
- Overview
-
Functions
- GetDataSource(std::string const &, Options)
- GetDataSource(google::cloud::bigquery::datatransfer::v1::GetDataSourceRequest const &, Options)
- ListDataSources(std::string const &, Options)
- ListDataSources(google::cloud::bigquery::datatransfer::v1::ListDataSourcesRequest, Options)
- CreateTransferConfig(std::string const &, google::cloud::bigquery::datatransfer::v1::TransferConfig const &, Options)
- CreateTransferConfig(google::cloud::bigquery::datatransfer::v1::CreateTransferConfigRequest const &, Options)
- UpdateTransferConfig(google::cloud::bigquery::datatransfer::v1::TransferConfig const &, google::protobuf::FieldMask const &, Options)
- UpdateTransferConfig(google::cloud::bigquery::datatransfer::v1::UpdateTransferConfigRequest const &, Options)
- DeleteTransferConfig(std::string const &, Options)
- DeleteTransferConfig(google::cloud::bigquery::datatransfer::v1::DeleteTransferConfigRequest const &, Options)
- GetTransferConfig(std::string const &, Options)
- GetTransferConfig(google::cloud::bigquery::datatransfer::v1::GetTransferConfigRequest const &, Options)
- ListTransferConfigs(std::string const &, Options)
- ListTransferConfigs(google::cloud::bigquery::datatransfer::v1::ListTransferConfigsRequest, Options)
- ScheduleTransferRuns(std::string const &, google::protobuf::Timestamp const &, google::protobuf::Timestamp const &, Options)
- ScheduleTransferRuns(google::cloud::bigquery::datatransfer::v1::ScheduleTransferRunsRequest const &, Options)
- StartManualTransferRuns(google::cloud::bigquery::datatransfer::v1::StartManualTransferRunsRequest const &, Options)
- GetTransferRun(std::string const &, Options)
- GetTransferRun(google::cloud::bigquery::datatransfer::v1::GetTransferRunRequest const &, Options)
- DeleteTransferRun(std::string const &, Options)
- DeleteTransferRun(google::cloud::bigquery::datatransfer::v1::DeleteTransferRunRequest const &, Options)
- ListTransferRuns(std::string const &, Options)
- ListTransferRuns(google::cloud::bigquery::datatransfer::v1::ListTransferRunsRequest, Options)
- ListTransferLogs(std::string const &, Options)
- ListTransferLogs(google::cloud::bigquery::datatransfer::v1::ListTransferLogsRequest, Options)
- CheckValidCreds(std::string const &, Options)
- CheckValidCreds(google::cloud::bigquery::datatransfer::v1::CheckValidCredsRequest const &, Options)
- EnrollDataSources(google::cloud::bigquery::datatransfer::v1::EnrollDataSourcesRequest const &, Options)
-
DataTransferServiceConnectionIdempotencyPolicy
-
DataTransferServiceLimitedErrorCountRetryPolicy
-
DataTransferServiceLimitedTimeRetryPolicy
-
Structs
-
DataTransferServiceBackoffPolicyOption
-
DataTransferServiceConnectionIdempotencyPolicyOption
-
DataTransferServiceRetryPolicyOption
-
google::cloud::bigquery_datatransfer_v1_mocks
-
google::cloud::bigquery_migration_v2
- Overview
-
Classes
-
MigrationServiceClient
- Overview
-
Functions
- CreateMigrationWorkflow(std::string const &, google::cloud::bigquery::migration::v2::MigrationWorkflow const &, Options)
- CreateMigrationWorkflow(google::cloud::bigquery::migration::v2::CreateMigrationWorkflowRequest const &, Options)
- GetMigrationWorkflow(std::string const &, Options)
- GetMigrationWorkflow(google::cloud::bigquery::migration::v2::GetMigrationWorkflowRequest const &, Options)
- ListMigrationWorkflows(std::string const &, Options)
- ListMigrationWorkflows(google::cloud::bigquery::migration::v2::ListMigrationWorkflowsRequest, Options)
- DeleteMigrationWorkflow(std::string const &, Options)
- DeleteMigrationWorkflow(google::cloud::bigquery::migration::v2::DeleteMigrationWorkflowRequest const &, Options)
- StartMigrationWorkflow(std::string const &, Options)
- StartMigrationWorkflow(google::cloud::bigquery::migration::v2::StartMigrationWorkflowRequest const &, Options)
- GetMigrationSubtask(std::string const &, Options)
- GetMigrationSubtask(google::cloud::bigquery::migration::v2::GetMigrationSubtaskRequest const &, Options)
- ListMigrationSubtasks(std::string const &, Options)
- ListMigrationSubtasks(google::cloud::bigquery::migration::v2::ListMigrationSubtasksRequest, Options)
-
MigrationServiceConnectionIdempotencyPolicy
-
MigrationServiceLimitedErrorCountRetryPolicy
-
MigrationServiceLimitedTimeRetryPolicy
-
Structs
-
MigrationServiceBackoffPolicyOption
-
MigrationServiceConnectionIdempotencyPolicyOption
-
MigrationServiceRetryPolicyOption
-
google::cloud::bigquery_migration_v2_mocks
-
google::cloud::bigquery_reservation_v1
- Overview
-
Classes
-
ReservationServiceClient
- Overview
-
Functions
- CreateReservation(std::string const &, google::cloud::bigquery::reservation::v1::Reservation const &, std::string const &, Options)
- CreateReservation(google::cloud::bigquery::reservation::v1::CreateReservationRequest const &, Options)
- ListReservations(std::string const &, Options)
- ListReservations(google::cloud::bigquery::reservation::v1::ListReservationsRequest, Options)
- GetReservation(std::string const &, Options)
- GetReservation(google::cloud::bigquery::reservation::v1::GetReservationRequest const &, Options)
- DeleteReservation(std::string const &, Options)
- DeleteReservation(google::cloud::bigquery::reservation::v1::DeleteReservationRequest const &, Options)
- UpdateReservation(google::cloud::bigquery::reservation::v1::Reservation const &, google::protobuf::FieldMask const &, Options)
- UpdateReservation(google::cloud::bigquery::reservation::v1::UpdateReservationRequest const &, Options)
- CreateCapacityCommitment(std::string const &, google::cloud::bigquery::reservation::v1::CapacityCommitment const &, Options)
- CreateCapacityCommitment(google::cloud::bigquery::reservation::v1::CreateCapacityCommitmentRequest const &, Options)
- ListCapacityCommitments(std::string const &, Options)
- ListCapacityCommitments(google::cloud::bigquery::reservation::v1::ListCapacityCommitmentsRequest, Options)
- GetCapacityCommitment(std::string const &, Options)
- GetCapacityCommitment(google::cloud::bigquery::reservation::v1::GetCapacityCommitmentRequest const &, Options)
- DeleteCapacityCommitment(std::string const &, Options)
- DeleteCapacityCommitment(google::cloud::bigquery::reservation::v1::DeleteCapacityCommitmentRequest const &, Options)
- UpdateCapacityCommitment(google::cloud::bigquery::reservation::v1::CapacityCommitment const &, google::protobuf::FieldMask const &, Options)
- UpdateCapacityCommitment(google::cloud::bigquery::reservation::v1::UpdateCapacityCommitmentRequest const &, Options)
- SplitCapacityCommitment(std::string const &, std::int64_t, Options)
- SplitCapacityCommitment(google::cloud::bigquery::reservation::v1::SplitCapacityCommitmentRequest const &, Options)
- MergeCapacityCommitments(std::string const &, std::vector< std::string > const &, Options)
- MergeCapacityCommitments(google::cloud::bigquery::reservation::v1::MergeCapacityCommitmentsRequest const &, Options)
- CreateAssignment(std::string const &, google::cloud::bigquery::reservation::v1::Assignment const &, Options)
- CreateAssignment(google::cloud::bigquery::reservation::v1::CreateAssignmentRequest const &, Options)
- ListAssignments(std::string const &, Options)
- ListAssignments(google::cloud::bigquery::reservation::v1::ListAssignmentsRequest, Options)
- DeleteAssignment(std::string const &, Options)
- DeleteAssignment(google::cloud::bigquery::reservation::v1::DeleteAssignmentRequest const &, Options)
- SearchAssignments(std::string const &, std::string const &, Options)
- SearchAssignments(google::cloud::bigquery::reservation::v1::SearchAssignmentsRequest, Options)
- SearchAllAssignments(std::string const &, std::string const &, Options)
- SearchAllAssignments(google::cloud::bigquery::reservation::v1::SearchAllAssignmentsRequest, Options)
- MoveAssignment(std::string const &, std::string const &, Options)
- MoveAssignment(google::cloud::bigquery::reservation::v1::MoveAssignmentRequest const &, Options)
- UpdateAssignment(google::cloud::bigquery::reservation::v1::Assignment const &, google::protobuf::FieldMask const &, Options)
- UpdateAssignment(google::cloud::bigquery::reservation::v1::UpdateAssignmentRequest const &, Options)
- GetBiReservation(std::string const &, Options)
- GetBiReservation(google::cloud::bigquery::reservation::v1::GetBiReservationRequest const &, Options)
- UpdateBiReservation(google::cloud::bigquery::reservation::v1::BiReservation const &, google::protobuf::FieldMask const &, Options)
- UpdateBiReservation(google::cloud::bigquery::reservation::v1::UpdateBiReservationRequest const &, Options)
-
ReservationServiceConnectionIdempotencyPolicy
-
ReservationServiceLimitedErrorCountRetryPolicy
-
ReservationServiceLimitedTimeRetryPolicy
-
Structs
-
ReservationServiceBackoffPolicyOption
-
ReservationServiceConnectionIdempotencyPolicyOption
-
ReservationServiceRetryPolicyOption
-
google::cloud::bigquery_reservation_v1_mocks
-
google::cloud::bigquery_storage_v1
- Overview
-
Classes
-
BigQueryReadConnectionIdempotencyPolicy
-
BigQueryReadLimitedErrorCountRetryPolicy
-
BigQueryReadLimitedTimeRetryPolicy
-
BigQueryWriteClient
- Overview
-
Functions
- CreateWriteStream(std::string const &, google::cloud::bigquery::storage::v1::WriteStream const &, Options)
- CreateWriteStream(google::cloud::bigquery::storage::v1::CreateWriteStreamRequest const &, Options)
- AsyncAppendRows(Options)
- GetWriteStream(std::string const &, Options)
- GetWriteStream(google::cloud::bigquery::storage::v1::GetWriteStreamRequest const &, Options)
- FinalizeWriteStream(std::string const &, Options)
- FinalizeWriteStream(google::cloud::bigquery::storage::v1::FinalizeWriteStreamRequest const &, Options)
- BatchCommitWriteStreams(std::string const &, Options)
- BatchCommitWriteStreams(google::cloud::bigquery::storage::v1::BatchCommitWriteStreamsRequest const &, Options)
- FlushRows(std::string const &, Options)
- FlushRows(google::cloud::bigquery::storage::v1::FlushRowsRequest const &, Options)
-
BigQueryWriteConnectionIdempotencyPolicy
-
BigQueryWriteLimitedErrorCountRetryPolicy
-
BigQueryWriteLimitedTimeRetryPolicy
-
Structs
-
BigQueryReadBackoffPolicyOption
-
BigQueryReadConnectionIdempotencyPolicyOption
-
BigQueryWriteBackoffPolicyOption
-
BigQueryWriteConnectionIdempotencyPolicyOption
-
google::cloud::bigquery_storage_v1_mocks
-
google::cloud::bigquery_v2_minimal_internal
Stay organized with collections Save and categorize content based on your preferences.
Override Retry, Backoff, and Idempotency Policies
When it is safe to do so, the library automatically retries requests that fail due to a transient error. The library then uses exponential backoff to backoff before trying again. Which operations are considered safe to retry, which errors are treated as transient failures, the details of the exponential backoff algorithm, and for how long the library retries are all configurable via policies.
This document provides examples showing how to override the default policies.
The policies can be set when the *Connection
object is created. The library provides default policies for any policy that is not set. The application can also override some (or all) policies when the *Client
object is created. This can be useful if multiple *Client
objects share the same *Connection
object, but you want different retry behavior in some of the clients. Finally, the application can override some retry policies when calling a specific member function.
The library uses three different options to control the retry loop. The options have per-client names.
Configuring the transient errors and retry duration
The *RetryPolicyOption
controls:
- Which errors are to be treated as transient errors.
- How long the library will keep retrying transient errors.
You can provide your own class for this option. The library also provides two built-in policies:
*LimitedErrorCountRetryPolicy
: stops retrying after a specified number of transient errors.
*LimitedTimeRetryPolicy
: stops retrying after a specified time.
Note that a library may have more than one version of these classes. Their name match the *Client
and *Connection
object they are intended to be used with. Some *Client
objects treat different error codes as transient errors. In most cases, only kUnavailable is treated as a transient error.
Controlling the backoff algorithm
The *BackoffPolicyOption
controls how long the client library will wait before retrying a request that failed with a transient error. You can provide your own class for this option.
The only built-in backoff policy is ExponentialBackoffPolicy
. This class implements a truncated exponential backoff algorithm, with jitter. In summary, it doubles the current backoff time after each failure. The actual backoff time for an RPC is chosen at random, but never exceeds the current backoff. The current backoff is doubled after each failure, but never exceeds (or is "truncated") if it reaches a prescribed maximum.
Controlling which operations are retryable
The *IdempotencyPolicyOption
controls which requests are retryable, as some requests are never safe to retry.
Only one built-in idempotency policy is provided by the library. The name matches the name of the client it is intended for. For example, FooBarClient
will use FooBarIdempotencyPolicy
. This policy is very conservative.
Example
For example, this will override the retry policies for bigquery_analyticshub_v1::AnalyticsHubServiceClient
:
auto options =
google::cloud::Options{}
.set<google::cloud::bigquery_analyticshub_v1::
AnalyticsHubServiceConnectionIdempotencyPolicyOption>(
CustomIdempotencyPolicy().clone())
.set<google::cloud::bigquery_analyticshub_v1::
AnalyticsHubServiceRetryPolicyOption>(
google::cloud::bigquery_analyticshub_v1::
AnalyticsHubServiceLimitedErrorCountRetryPolicy(3)
.clone())
.set<google::cloud::bigquery_analyticshub_v1::
AnalyticsHubServiceBackoffPolicyOption>(
google::cloud::ExponentialBackoffPolicy(
/*initial_delay=*/std::chrono::milliseconds(200),
/*maximum_delay=*/std::chrono::seconds(45),
/*scaling=*/2.0)
.clone());
auto connection = google::cloud::bigquery_analyticshub_v1::
MakeAnalyticsHubServiceConnection(options);
// c1 and c2 share the same retry policies
auto c1 = google::cloud::bigquery_analyticshub_v1::AnalyticsHubServiceClient(
connection);
auto c2 = google::cloud::bigquery_analyticshub_v1::AnalyticsHubServiceClient(
connection);
// You can override any of the policies in a new client. This new client
// will share the policies from c1 (or c2) *except* for the retry policy.
auto c3 = google::cloud::bigquery_analyticshub_v1::AnalyticsHubServiceClient(
connection, google::cloud::Options{}
.set<google::cloud::bigquery_analyticshub_v1::
AnalyticsHubServiceRetryPolicyOption>(
google::cloud::bigquery_analyticshub_v1::
AnalyticsHubServiceLimitedTimeRetryPolicy(
std::chrono::minutes(5))
.clone()));
// You can also override the policies in a single call:
// c3.SomeRpc(..., google::cloud::Options{}
// .set<google::cloud::bigquery_analyticshub_v1::AnalyticsHubServiceRetryPolicyOption>(
// google::cloud::bigquery_analyticshub_v1::AnalyticsHubServiceLimitedErrorCountRetryPolicy(10).clone()));
This assumes you have created a custom idempotency policy. Such as:
class CustomIdempotencyPolicy
: public google::cloud::bigquery_analyticshub_v1::
AnalyticsHubServiceConnectionIdempotencyPolicy {
public:
~CustomIdempotencyPolicy() override = default;
std::unique_ptr<google::cloud::bigquery_analyticshub_v1::
AnalyticsHubServiceConnectionIdempotencyPolicy>
clone() const override {
return std::make_unique<CustomIdempotencyPolicy>(*this);
}
// Override inherited functions to define as needed.
};
Follow these links to find examples for other *Client
classes:
More Information See Also
google::cloud::Options
See Also
google::cloud::BackoffPolicy
See Also
google::cloud::ExponentialBackoffPolicy
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-14 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-14 UTC."],[[["This page documents how to override the default retry, backoff, and idempotency policies used by the library for handling transient errors and retries."],["The library uses three types of options to control retries, `*RetryPolicyOption`, `*BackoffPolicyOption`, and `*IdempotencyPolicyOption`, allowing customization of error handling, backoff algorithms, and which requests are retryable."],["Retry policies can be set when creating `*Connection` objects, `*Client` objects, or even when calling a specific member function, allowing for granular control over retry behavior."],["The library provides built-in policies like `*LimitedErrorCountRetryPolicy`, `*LimitedTimeRetryPolicy`, and `ExponentialBackoffPolicy`, with the option to create custom implementations for each policy type as well."],["The document provides examples on how to override retry policies, including setting custom policies for specific services such as `bigquery_analyticshub_v1::AnalyticsHubServiceClient`."]]],[]]
RetroSearch is an open source project built by @garambo
| Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4