[ 
https://issues.apache.org/jira/browse/IGNITE-29216?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dmitry Werner updated IGNITE-29216:
-----------------------------------
    Description: 
CacheVersionConflictResolverImpl (the default conflict resolver of the CDC 
extension) logs an unresolvable conflict as an error ("Conflict can't be 
resolved, update ignored" / "remove ignored") and drops the incoming update.

The only metric that reflects it is ConflictResolverRejectedCount, but such 
updates are counted there together with regular rejections (outdated or 
duplicate updates from the same cluster, updates that lose the field-based 
comparison), which happen routinely during CDC replication. So lost updates 
can't be told apart from normal operation.

Add a counter metric (e.g. ConflictResolverErrorsCount) that increases each 
time a conflict can't be resolved, so that lost CDC updates can be monitored 
and alerted on. Such updates remain counted in ConflictResolverRejectedCount, 
so regular rejections are ConflictResolverRejectedCount - 
ConflictResolverErrorsCount.

  was:
CacheVersionConflictResolverImpl (default implementation of 
CacheVersionConflictResolver) reports an unresolvable conflict only as a log 
message ("Conflict can't be resolved, update ignored"). When that happens, the 
incoming update is dropped without any other signal.

The existing ConflictResolverRejectedCount metric does not help here: such 
updates are counted there together with regular rejections (e.g. reordered or 
duplicate updates from the same cluster), which happen routinely during CDC 
replication, so errors can't be told apart from normal operation.

Add a counter metric (e.g. ConflictResolverErrorsCount) that increases each 
time a conflict can't be resolved, so that lost CDC updates can be monitored 
and alerted on. Such updates remain counted in ConflictResolverRejectedCount, 
so regular rejections are ConflictResolverRejectedCount - 
ConflictResolverErrorsCount.


> Add metric for CacheVersionConflictResolver resolution failures
> ---------------------------------------------------------------
>
>                 Key: IGNITE-29216
>                 URL: https://issues.apache.org/jira/browse/IGNITE-29216
>             Project: Ignite
>          Issue Type: Task
>            Reporter: Dmitry Werner
>            Assignee: Dmitry Werner
>            Priority: Major
>              Labels: ise, metrics-to-log
>             Fix For: 2.20
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> CacheVersionConflictResolverImpl (the default conflict resolver of the CDC 
> extension) logs an unresolvable conflict as an error ("Conflict can't be 
> resolved, update ignored" / "remove ignored") and drops the incoming update.
> The only metric that reflects it is ConflictResolverRejectedCount, but such 
> updates are counted there together with regular rejections (outdated or 
> duplicate updates from the same cluster, updates that lose the field-based 
> comparison), which happen routinely during CDC replication. So lost updates 
> can't be told apart from normal operation.
> Add a counter metric (e.g. ConflictResolverErrorsCount) that increases each 
> time a conflict can't be resolved, so that lost CDC updates can be monitored 
> and alerted on. Such updates remain counted in ConflictResolverRejectedCount, 
> so regular rejections are ConflictResolverRejectedCount - 
> ConflictResolverErrorsCount.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to