[
https://issues.apache.org/jira/browse/IGNITE-28235?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Roman Puchkovskiy updated IGNITE-28235:
---------------------------------------
Description:
In WatchProcessor, all processed events (revision creations and idle safe time
advances) are linearized. Each produces a future, and the futures are chained
one after another so that next event starts being handled only after the
previous one has been fully handled.
The effect of such chaining is that if a watch listener fails with an
exception, the whole chain fails with that exception, AND each subsequent event
will fail with the same initial exception. For this reason, it makes sense to
only log the initial exception and avoid logging it more (for subsequent event
failures). This is what we do in WatchProcessor.
Recently, additional logging was added on top of that in UpdateEntriesEvent.
This results in a storm of logging after the watch notification chain is
broken, and the logs are useless as they all duplicate the same initial
exception.
This already happened before, so, apart from removing that additional logging,
we need to add a test making sure that the exception is only logged once.
> Broken watch notification chain logs initial exception over and over
> --------------------------------------------------------------------
>
> Key: IGNITE-28235
> URL: https://issues.apache.org/jira/browse/IGNITE-28235
> Project: Ignite
> Issue Type: Bug
> Reporter: Roman Puchkovskiy
> Assignee: Roman Puchkovskiy
> Priority: Major
> Labels: ignite-3
> Time Spent: 10m
> Remaining Estimate: 0h
>
> In WatchProcessor, all processed events (revision creations and idle safe
> time advances) are linearized. Each produces a future, and the futures are
> chained one after another so that next event starts being handled only after
> the previous one has been fully handled.
> The effect of such chaining is that if a watch listener fails with an
> exception, the whole chain fails with that exception, AND each subsequent
> event will fail with the same initial exception. For this reason, it makes
> sense to only log the initial exception and avoid logging it more (for
> subsequent event failures). This is what we do in WatchProcessor.
> Recently, additional logging was added on top of that in UpdateEntriesEvent.
> This results in a storm of logging after the watch notification chain is
> broken, and the logs are useless as they all duplicate the same initial
> exception.
> This already happened before, so, apart from removing that additional
> logging, we need to add a test making sure that the exception is only logged
> once.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)