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-05 UTC."],[[["This document outlines the `AlwaysRetryMutationPolicy` for Google Cloud Bigtable C++ client library, with the latest version being 2.37.0-rc, and lists previous versions down to 2.11.0."],["The `AlwaysRetryMutationPolicy` implements a strategy that retries all mutations, including those that might not be idempotent, such as `SetCell()` operations with server-selected timestamps."],["Users are advised that employing this policy could result in multiple data copies with differing timestamps, necessitating application-level handling like querying the last value and employing garbage collection."],["The class provides methods to clone the policy (`clone()`) and to check if a given mutation is idempotent, through the methods `is_idempotent(google::bigtable::v2::Mutation const &)` and `is_idempotent(google::bigtable::v2::CheckAndMutateRowRequest const &)`."]]],[]]