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"]],[["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-03-14 UTC."],[[["The latest version of the `AlwaysRetryMutationPolicy` is 2.37.0-rc, with numerous previous versions available for reference, down to version 2.11.0."],["`AlwaysRetryMutationPolicy` retries all mutations, which may cause non-idempotent mutations to be resent, leading to potential data duplication with different timestamps, so use cautiously."],["The policy includes a constructor, `AlwaysRetryMutationPolicy()`, and two key functions: `clone()`, which returns a copy of the policy, and `is_idempotent()`, which determines if a mutation or conditional mutation is idempotent."],["`is_idempotent()` can take a parameter of either a `google::bigtable::v2::Mutation const &` or a `google::bigtable::v2::CheckAndMutateRowRequest const &` to determine if it's an idempotent operation."]]],[]]