[ 
https://issues.apache.org/jira/browse/PHOENIX-5980?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17656392#comment-17656392
 ] 

ASF GitHub Bot commented on PHOENIX-5980:
-----------------------------------------

mnpoonia commented on code in PR #1541:
URL: https://github.com/apache/phoenix/pull/1541#discussion_r1065297018


##########
phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java:
##########
@@ -1572,12 +1572,19 @@ public static MutationMetricQueue.MutationMetric 
updateMutationBatchFailureMetri
                 numDeleteMutationsInBatch++;
             }
         }
+
+        long totalfailedMutation = numUpsertMutationsInBatch + 
numDeleteMutationsInBatch;
+        //TODO this case is something that should not happen
+        // but still if connditioon makes sese if this ever happens
+        if (totalfailedMutation < numFailedMutations) {
+            totalfailedMutation = numFailedMutations;
+        }

Review Comment:
   That is right. That is the understanding.





> 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
>            Assignee: Aman Poonia
>            Priority: Major
>              Labels: metrics, phoenix-hardening, quality-improvement
>             Fix For: 4.17.0, 4.16.2
>
>
> 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.20.10#820010)

Reply via email to