Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
4.15.0
-
None
Description
In the conn.commit() path, we get the number of mutations that failed to be committed in the catch block of MutationState.sendMutations() (see here).
In case of delete mutations, the uncommittedStatementIndexes.length always resolves to 1 and we always update the metric value by 1 in this case, even though the actual mutation list corresponds to multiple DELETE mutations which failed. In case of upserts, using unCommittedStatementIndexes.length is fine since each upsert query corresponds to 1 Put. We should fix the logic for deletes/mixed delete + upsert mutation batch failures.
This wrong value is propagated to global client metrics as well as MutationMetricQueue metrics.