bigtable: return general error on mutate rows for individual row mutations #11473
Labels
api: bigtable
Issues related to the Bigtable API.
type: feature request
‘Nice-to-have’ improvement, new feature or different behavior or design.
Is your feature request related to a problem? Please describe.
The current ApplyBulk implementation returns
(nil, err)
in case of a failure in the entire operation, and([]err, nil)
in case of individual mutation failures. This is inconsistent with other client implementations (e.g. python, java (on gax)), and is also more error prone (2 different fields to check for errors vs a single source of truth).Describe the solution you'd like
Create a new
ApplyBulkV2
(or whatever the name is), use a return value oferr error
and aggregate individual mutations exceptions in some aggregated error type. Deprecate the existing method.Describe alternatives you've considered
(errs []error, err error)
but always set the second parameter if there are any individual exceptions: seems redundant when we can aggregate the exceptions on a meaningful type.Additional context
The way the conformance tests Test Framework is setup needs us to implement a proxy server to proxy requests for each client's implementation. We would need then to change the method we currently call on our proxy server, potentially leaving the deprecated implementation not covered by conformance tests.
To make this safer we should make sure both the new and the deprecated
ApplyBulk
go through the same code path, and change only how each of them returns errors.The text was updated successfully, but these errors were encountered: