Notice that this will may result in non-idempotent mutations being resent to the server. Re-trying a SetCell() mutation where the server selects the timestamp can result in multiple copies of the data stored with different timestamps. Only use this policy if your application is prepared to handle such problems, for example, by only querying the last value and setting garbage collection policies to delete the old values.
[[["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 document details the \u003ccode\u003eAlwaysRetryMutationPolicy\u003c/code\u003e class within the Google Cloud Bigtable C++ client library, specifically for version 2.23.0 and onwards.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eAlwaysRetryMutationPolicy\u003c/code\u003e will retry all mutations, which may lead to non-idempotent operations being resent to the server, resulting in multiple copies of data with different timestamps.\u003c/p\u003e\n"],["\u003cp\u003eThis class includes a constructor, a \u003ccode\u003eclone()\u003c/code\u003e function to create a copy of the policy, and \u003ccode\u003eis_idempotent()\u003c/code\u003e functions to check if a mutation or conditional mutation is idempotent.\u003c/p\u003e\n"],["\u003cp\u003eThe document provides a list of available versions of this class, ranging from 2.11.0 to the latest release candidate, 2.37.0-rc.\u003c/p\u003e\n"]]],[],null,["# Class AlwaysRetryMutationPolicy (2.23.0)\n\nVersion 2.23.0keyboard_arrow_down\n\n- [2.42.0-rc (latest)](/cpp/docs/reference/bigtable/latest/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.41.0](/cpp/docs/reference/bigtable/2.41.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.40.0](/cpp/docs/reference/bigtable/2.40.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.39.0](/cpp/docs/reference/bigtable/2.39.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.38.0](/cpp/docs/reference/bigtable/2.38.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.37.0](/cpp/docs/reference/bigtable/2.37.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.36.0](/cpp/docs/reference/bigtable/2.36.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.35.0](/cpp/docs/reference/bigtable/2.35.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.34.0](/cpp/docs/reference/bigtable/2.34.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.33.0](/cpp/docs/reference/bigtable/2.33.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.32.0](/cpp/docs/reference/bigtable/2.32.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.31.0](/cpp/docs/reference/bigtable/2.31.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.30.0](/cpp/docs/reference/bigtable/2.30.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.29.0](/cpp/docs/reference/bigtable/2.29.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.28.0](/cpp/docs/reference/bigtable/2.28.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.27.0](/cpp/docs/reference/bigtable/2.27.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.26.0](/cpp/docs/reference/bigtable/2.26.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.25.1](/cpp/docs/reference/bigtable/2.25.1/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.24.0](/cpp/docs/reference/bigtable/2.24.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.23.0](/cpp/docs/reference/bigtable/2.23.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.22.1](/cpp/docs/reference/bigtable/2.22.1/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.21.0](/cpp/docs/reference/bigtable/2.21.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.20.0](/cpp/docs/reference/bigtable/2.20.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.19.0](/cpp/docs/reference/bigtable/2.19.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.18.0](/cpp/docs/reference/bigtable/2.18.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.17.0](/cpp/docs/reference/bigtable/2.17.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.16.0](/cpp/docs/reference/bigtable/2.16.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.15.1](/cpp/docs/reference/bigtable/2.15.1/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.14.0](/cpp/docs/reference/bigtable/2.14.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.13.0](/cpp/docs/reference/bigtable/2.13.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.12.0](/cpp/docs/reference/bigtable/2.12.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy)\n- [2.11.0](/cpp/docs/reference/bigtable/2.11.0/classgoogle_1_1cloud_1_1bigtable_1_1AlwaysRetryMutationPolicy) \nImplements a policy that retries all mutations. \nNotice that this will may result in non-idempotent mutations being resent to the server. Re-trying a [SetCell()](/cpp/docs/reference/bigtable/2.23.0/namespacegoogle_1_1cloud_1_1bigtable) mutation where the server selects the timestamp can result in multiple copies of the data stored with different timestamps. Only use this policy if your application is prepared to handle such problems, for example, by only querying the last value and setting garbage collection policies to delete the old values.\n\nConstructors\n------------\n\n### AlwaysRetryMutationPolicy()\n\nFunctions\n---------\n\n### virtual clone() const\n\nReturn a copy of the policy.\n\n### virtual is_idempotent(google::bigtable::v2::Mutation const \\&)\n\nReturn true if the mutation is idempotent.\n\n### virtual is_idempotent(google::bigtable::v2::CheckAndMutateRowRequest const \\&)\n\nReturn true if a conditional mutation is idempotent."]]