Because BulkApply() and Apply() take ownership of the data in the mutations the failures are returned with their full contents, in case the application wants to take further action with them. Any successful mutations are discarded.
Any mutations that fail with an unknown state are included with a grpc::StatusCode::OK.
Returns
Type
Description
std::vector< FailedMutation > const &
status() const
The grpc::Status of the request.
Notice that it can return grpc::Status::OK when there are partial failures in a BulkApply() operation.
[[["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 page provides documentation for the \u003ccode\u003ePermanentMutationFailure\u003c/code\u003e class within the Google Cloud Bigtable C++ client library, covering versions from 2.11.0 up to the latest release candidate 2.37.0-rc.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003ePermanentMutationFailure\u003c/code\u003e class is used to report unrecoverable errors encountered during a partially completed mutation operation.\u003c/p\u003e\n"],["\u003cp\u003eIt contains details of each individual mutation failure, as well as any \u003ccode\u003egrpc::Status\u003c/code\u003e associated with the request, which can return \u003ccode\u003egrpc::Status::OK\u003c/code\u003e even when there are partial failures in \u003ccode\u003eBulkApply()\u003c/code\u003e operations.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003efailures()\u003c/code\u003e function returns a constant reference to a vector of \u003ccode\u003eFailedMutation\u003c/code\u003e objects, which includes the full content of the failed mutations, while the \u003ccode\u003estatus()\u003c/code\u003e function returns the \u003ccode\u003egrpc::Status\u003c/code\u003e of the request.\u003c/p\u003e\n"],["\u003cp\u003eThere are two constructors for the class, one taking a \u003ccode\u003echar const*\u003c/code\u003e and a vector of \u003ccode\u003eFailedMutation\u003c/code\u003e, and another including \u003ccode\u003egrpc::Status\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Class PermanentMutationFailure (2.15.1)\n\nVersion 2.15.1keyboard_arrow_down\n\n- [2.42.0-rc (latest)](/cpp/docs/reference/bigtable/latest/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.41.0](/cpp/docs/reference/bigtable/2.41.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.40.0](/cpp/docs/reference/bigtable/2.40.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.39.0](/cpp/docs/reference/bigtable/2.39.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.38.0](/cpp/docs/reference/bigtable/2.38.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.37.0](/cpp/docs/reference/bigtable/2.37.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.36.0](/cpp/docs/reference/bigtable/2.36.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.35.0](/cpp/docs/reference/bigtable/2.35.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.34.0](/cpp/docs/reference/bigtable/2.34.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.33.0](/cpp/docs/reference/bigtable/2.33.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.32.0](/cpp/docs/reference/bigtable/2.32.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.31.0](/cpp/docs/reference/bigtable/2.31.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.30.0](/cpp/docs/reference/bigtable/2.30.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.29.0](/cpp/docs/reference/bigtable/2.29.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.28.0](/cpp/docs/reference/bigtable/2.28.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.27.0](/cpp/docs/reference/bigtable/2.27.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.26.0](/cpp/docs/reference/bigtable/2.26.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.25.1](/cpp/docs/reference/bigtable/2.25.1/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.24.0](/cpp/docs/reference/bigtable/2.24.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.23.0](/cpp/docs/reference/bigtable/2.23.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.22.1](/cpp/docs/reference/bigtable/2.22.1/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.21.0](/cpp/docs/reference/bigtable/2.21.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.20.0](/cpp/docs/reference/bigtable/2.20.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.19.0](/cpp/docs/reference/bigtable/2.19.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.18.0](/cpp/docs/reference/bigtable/2.18.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.17.0](/cpp/docs/reference/bigtable/2.17.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.16.0](/cpp/docs/reference/bigtable/2.16.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.15.1](/cpp/docs/reference/bigtable/2.15.1/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.14.0](/cpp/docs/reference/bigtable/2.14.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.13.0](/cpp/docs/reference/bigtable/2.13.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.12.0](/cpp/docs/reference/bigtable/2.12.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure)\n- [2.11.0](/cpp/docs/reference/bigtable/2.11.0/classgoogle_1_1cloud_1_1bigtable_1_1PermanentMutationFailure) \nReport unrecoverable errors in a partially completed mutation.\n\nConstructors\n------------\n\n### PermanentMutationFailure(char const \\*, std::vector\\\u003c FailedMutation \\\u003e)\n\n### PermanentMutationFailure(char const \\*, grpc::Status, std::vector\\\u003c FailedMutation \\\u003e)\n\nFunctions\n---------\n\n### failures() const\n\nThe details of each mutation failure. \nBecause BulkApply() and Apply() take ownership of the data in the mutations the failures are returned with their full contents, in case the application wants to take further action with them. Any successful mutations are discarded.\n\nAny mutations that fail with an unknown state are included with a `grpc::StatusCode::OK`.\n\n### status() const\n\nThe `grpc::Status` of the request. \nNotice that it can return `grpc::Status::OK` when there are partial failures in a `BulkApply()` operation."]]