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, spanning multiple versions.\u003c/p\u003e\n"],["\u003cp\u003eThe class \u003ccode\u003ePermanentMutationFailure\u003c/code\u003e is designed to handle and report unrecoverable errors that occur during a partially completed mutation.\u003c/p\u003e\n"],["\u003cp\u003eThe class has constructors that allow the creation of \u003ccode\u003ePermanentMutationFailure\u003c/code\u003e objects using parameters like error message (\u003ccode\u003emsg\u003c/code\u003e), status (\u003ccode\u003egrpc::Status\u003c/code\u003e), and a vector of mutation failures.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003efailures()\u003c/code\u003e function returns detailed information about each mutation failure, which is essential for applications needing to respond to specific problems.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003estatus()\u003c/code\u003e function allows you to check the overall status of the request, which may still return \u003ccode\u003egrpc::Status::OK\u003c/code\u003e even if partial failures occur during \u003ccode\u003eBulkApply()\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Class PermanentMutationFailure (2.30.0)\n\nVersion 2.30.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."]]