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\u003eThe \u003ccode\u003eAlwaysRetryMutationPolicy\u003c/code\u003e retries all mutations, which may lead to non-idempotent operations being resent to the server, potentially creating multiple copies of data with different timestamps.\u003c/p\u003e\n"],["\u003cp\u003eThis policy is suitable when applications can handle the possibility of multiple data copies, such as by querying only the latest value or using garbage collection policies to remove outdated entries.\u003c/p\u003e\n"],["\u003cp\u003eThe class includes a constructor \u003ccode\u003eAlwaysRetryMutationPolicy()\u003c/code\u003e and two primary functions: \u003ccode\u003eclone()\u003c/code\u003e which returns a copy of the policy, and \u003ccode\u003eis_idempotent()\u003c/code\u003e which determines if a mutation or a conditional mutation is idempotent.\u003c/p\u003e\n"],["\u003cp\u003eThe provided content shows a list of versions for the class \u003ccode\u003eAlwaysRetryMutationPolicy\u003c/code\u003e, with version 2.37.0-rc being the latest and multiple other version releases available.\u003c/p\u003e\n"]]],[],null,["# Class AlwaysRetryMutationPolicy (2.30.0)\n\nVersion 2.30.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.30.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."]]