This shows how to override the retry policies for connectors_v1::ConnectorsClient:
auto options =
google::cloud::Options{}
.set<google::cloud::connectors_v1::
ConnectorsConnectionIdempotencyPolicyOption>(
CustomIdempotencyPolicy().clone())
.set<google::cloud::connectors_v1::ConnectorsRetryPolicyOption>(
google::cloud::connectors_v1::
ConnectorsLimitedErrorCountRetryPolicy(3)
.clone())
.set<google::cloud::connectors_v1::ConnectorsBackoffPolicyOption>(
google::cloud::ExponentialBackoffPolicy(
/*initial_delay=*/std::chrono::milliseconds(200),
/*maximum_delay=*/std::chrono::seconds(45),
/*scaling=*/2.0)
.clone());
auto connection =
google::cloud::connectors_v1::MakeConnectorsConnection(options);
// c1 and c2 share the same retry policies
auto c1 = google::cloud::connectors_v1::ConnectorsClient(connection);
auto c2 = google::cloud::connectors_v1::ConnectorsClient(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::connectors_v1::ConnectorsClient(
connection,
google::cloud::Options{}
.set<google::cloud::connectors_v1::ConnectorsRetryPolicyOption>(
google::cloud::connectors_v1::ConnectorsLimitedTimeRetryPolicy(
std::chrono::minutes(5))
.clone()));
// You can also override the policies in a single call:
// c3.SomeRpc(..., google::cloud::Options{}
// .set<google::cloud::connectors_v1::ConnectorsRetryPolicyOption>(
// google::cloud::connectors_v1::ConnectorsLimitedErrorCountRetryPolicy(10).clone()));
Assuming you have created a custom idempotency policy. Such as:
class CustomIdempotencyPolicy : public google::cloud::connectors_v1::
ConnectorsConnectionIdempotencyPolicy {
public:
~CustomIdempotencyPolicy() override = default;
std::unique_ptr<
google::cloud::connectors_v1::ConnectorsConnectionIdempotencyPolicy>
clone() const override {
return std::make_unique<CustomIdempotencyPolicy>(*this);
}
// Override inherited functions to define as needed.
};
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-14 UTC."],[[["\u003cp\u003eThis page provides documentation for various versions of the \u003ccode\u003econnectors_v1::ConnectorsClient\u003c/code\u003e, ranging from version 2.11.0 up to the latest release candidate 2.37.0-rc.\u003c/p\u003e\n"],["\u003cp\u003eIt demonstrates how to override the default retry policies for \u003ccode\u003econnectors_v1::ConnectorsClient\u003c/code\u003e, including setting custom retry policies, limited error count, and exponential backoff.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation explains that multiple clients can share the same retry policies by using the same connection object and that individual clients can override specific policies, which can be applied to singular calls.\u003c/p\u003e\n"],["\u003cp\u003eA custom idempotency policy example, \u003ccode\u003eCustomIdempotencyPolicy\u003c/code\u003e, is provided to illustrate how to create a custom policy and override inherited functions.\u003c/p\u003e\n"]]],[],null,["Version 2.34.0keyboard_arrow_down\n\n- [2.42.0-rc (latest)](/cpp/docs/reference/connectors/latest/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.41.0](/cpp/docs/reference/connectors/2.41.0/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.40.0](/cpp/docs/reference/connectors/2.40.0/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.39.0](/cpp/docs/reference/connectors/2.39.0/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.38.0](/cpp/docs/reference/connectors/2.38.0/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.37.0](/cpp/docs/reference/connectors/2.37.0/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.36.0](/cpp/docs/reference/connectors/2.36.0/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.35.0](/cpp/docs/reference/connectors/2.35.0/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.34.0](/cpp/docs/reference/connectors/2.34.0/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.33.0](/cpp/docs/reference/connectors/2.33.0/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.32.0](/cpp/docs/reference/connectors/2.32.0/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.31.0](/cpp/docs/reference/connectors/2.31.0/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.30.0](/cpp/docs/reference/connectors/2.30.0/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.29.0](/cpp/docs/reference/connectors/2.29.0/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.28.0](/cpp/docs/reference/connectors/2.28.0/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.27.0](/cpp/docs/reference/connectors/2.27.0/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.26.0](/cpp/docs/reference/connectors/2.26.0/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.25.1](/cpp/docs/reference/connectors/2.25.1/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.24.0](/cpp/docs/reference/connectors/2.24.0/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.23.0](/cpp/docs/reference/connectors/2.23.0/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.22.1](/cpp/docs/reference/connectors/2.22.1/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.21.0](/cpp/docs/reference/connectors/2.21.0/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.20.0](/cpp/docs/reference/connectors/2.20.0/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.19.0](/cpp/docs/reference/connectors/2.19.0/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.18.0](/cpp/docs/reference/connectors/2.18.0/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.17.0](/cpp/docs/reference/connectors/2.17.0/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.16.0](/cpp/docs/reference/connectors/2.16.0/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.15.1](/cpp/docs/reference/connectors/2.15.1/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.14.0](/cpp/docs/reference/connectors/2.14.0/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.13.0](/cpp/docs/reference/connectors/2.13.0/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.12.0](/cpp/docs/reference/connectors/2.12.0/connectors_v1_1_1ConnectorsClient-retry-snippet)\n- [2.11.0](/cpp/docs/reference/connectors/2.11.0/connectors_v1_1_1ConnectorsClient-retry-snippet) \n\nOverride connectors_v1::ConnectorsClient Retry Policies\n=======================================================\n\nThis shows how to override the retry policies for connectors_v1::ConnectorsClient: \n\n auto options =\n google::cloud::Options{}\n .set\u003cgoogle::cloud::connectors_v1::\n ConnectorsConnectionIdempotencyPolicyOption\u003e(\n CustomIdempotencyPolicy().clone())\n .set\u003cgoogle::cloud::connectors_v1::ConnectorsRetryPolicyOption\u003e(\n google::cloud::connectors_v1::\n ConnectorsLimitedErrorCountRetryPolicy(3)\n .clone())\n .set\u003cgoogle::cloud::connectors_v1::ConnectorsBackoffPolicyOption\u003e(\n google::cloud::ExponentialBackoffPolicy(\n /*initial_delay=*/std::chrono::milliseconds(200),\n /*maximum_delay=*/std::chrono::seconds(45),\n /*scaling=*/2.0)\n .clone());\n auto connection =\n google::cloud::connectors_v1::MakeConnectorsConnection(options);\n\n // c1 and c2 share the same retry policies\n auto c1 = google::cloud::connectors_v1::ConnectorsClient(connection);\n auto c2 = google::cloud::connectors_v1::ConnectorsClient(connection);\n\n // You can override any of the policies in a new client. This new client\n // will share the policies from c1 (or c2) *except* for the retry policy.\n auto c3 = google::cloud::connectors_v1::ConnectorsClient(\n connection,\n google::cloud::Options{}\n .set\u003cgoogle::cloud::connectors_v1::ConnectorsRetryPolicyOption\u003e(\n google::cloud::connectors_v1::ConnectorsLimitedTimeRetryPolicy(\n std::chrono::minutes(5))\n .clone()));\n\n // You can also override the policies in a single call:\n // c3.SomeRpc(..., google::cloud::Options{}\n // .set\u003cgoogle::cloud::connectors_v1::ConnectorsRetryPolicyOption\u003e(\n // google::cloud::connectors_v1::ConnectorsLimitedErrorCountRetryPolicy(10).clone()));\n\nAssuming you have created a custom idempotency policy. Such as: \n\n class CustomIdempotencyPolicy : public google::cloud::connectors_v1::\n ConnectorsConnectionIdempotencyPolicy {\n public:\n ~CustomIdempotencyPolicy() override = default;\n std::unique_ptr\u003c\n google::cloud::connectors_v1::ConnectorsConnectionIdempotencyPolicy\u003e\n clone() const override {\n return std::make_unique\u003cCustomIdempotencyPolicy\u003e(*this);\n }\n // Override inherited functions to define as needed.\n };"]]