[
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)