Chinmay Kulkarni created PHOENIX-5980:
-----------------------------------------

             Summary: MUTATION_BATCH_FAILED_SIZE metric is incorrectly updated 
for failing delete mutations
                 Key: PHOENIX-5980
                 URL: https://issues.apache.org/jira/browse/PHOENIX-5980
             Project: Phoenix
          Issue Type: Bug
    Affects Versions: 4.15.0
            Reporter: Chinmay Kulkarni
             Fix For: 4.16.0


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|https://github.com/apache/phoenix/blob/dcc88af8acc2ba8df10d2e9d498ab3646fdf0a78/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java#L1195-L1198]).
 

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.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to