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

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

shahrs87 commented on PR #1541:
URL: https://github.com/apache/phoenix/pull/1541#issuecomment-1361687077

   > But when it comes to mutation while we are in transactional table we 
consider a set of command as single mutation and that can be only reason i 
consider that MUTATION_BATCH_FAILED_SIZE differs.
   
   When you look at the metrics independently, it will look like only 1 
mutation failed in the batch even if 100 mutations have failed. We don't have 
different metrics for transactional table and non-transactional table and we 
shouldn't also. If a table is transactional we want to revert the state to 
original state if any of the mutations failed but why we want to treat metrics 
differently? @mnpoonia 




> 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