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-21 UTC."],[[["This document outlines the `AlwaysRetryMutationPolicy` for Google Cloud Bigtable C++ client library, with the latest version being 2.37.0-rc, and many older versions listed."],["The `AlwaysRetryMutationPolicy` retries all mutations, which can lead to non-idempotent mutations being re-sent to the server, potentially creating multiple data entries with varying timestamps."],["This policy should be used cautiously, and is best for applications that can manage potential problems such as duplicate data, for instance by querying the most recent data and setting up garbage collection for older values."],["The policy provides functions to create a copy of the policy with `clone()`, as well as check for mutation idempotency, with `is_idempotent()` taking either `google::bigtable::v2::Mutation const &` or `google::bigtable::v2::CheckAndMutateRowRequest const &` as parameters."]]],[]]