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 webpage provides documentation for the \u003ccode\u003ePermanentMutationFailure\u003c/code\u003e class in the Google Cloud Bigtable C++ client library, spanning versions from 2.11.0 to the latest release candidate 2.37.0-rc.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003ePermanentMutationFailure\u003c/code\u003e class is designed to report unrecoverable errors in partially completed mutations, detailing the specific failures encountered within a set of operations.\u003c/p\u003e\n"],["\u003cp\u003eThe class offers two constructors: one takes a message and a vector of \u003ccode\u003eFailedMutation\u003c/code\u003e objects, and the other includes an additional \u003ccode\u003egrpc::Status\u003c/code\u003e parameter to represent the overall status of the operation.\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, providing detailed information about each mutation failure, including the full contents of the failed mutation.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003estatus()\u003c/code\u003e function returns the \u003ccode\u003egrpc::Status\u003c/code\u003e of the request, which can be \u003ccode\u003egrpc::Status::OK\u003c/code\u003e even when partial failures occur in a \u003ccode\u003eBulkApply()\u003c/code\u003e operation.\u003c/p\u003e\n"]]],[],null,["# Class PermanentMutationFailure (2.26.0)\n\nVersion 2.26.0keyboard_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."]]