[
https://issues.apache.org/jira/browse/IGNITE-10740?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16746264#comment-16746264
]
Sergey Antonov commented on IGNITE-10740:
-----------------------------------------
[~Artem Budnikov] DR is a Datacenter Replication. In case of update was got by
DR (from another DC (datacenter)) and interceptor is non-idempotent we could
broke users data. So we should disable cache interceptor for this updates.
> Add documentation for IGNITE_DISABLE_TRIGGERING_CACHE_INTERCEPTOR_ON_CONFLICT
> -----------------------------------------------------------------------------
>
> Key: IGNITE-10740
> URL: https://issues.apache.org/jira/browse/IGNITE-10740
> Project: Ignite
> Issue Type: Task
> Components: documentation
> Reporter: Sergey Antonov
> Assignee: Artem Budnikov
> Priority: Major
> Fix For: 2.8
>
>
> We should add to documentation
> IGNITE_DISABLE_TRIGGERING_CACHE_INTERCEPTOR_ON_CONFLICT option.
> As a reference you could get javadoc from skipInterceptor() :
> {{Checks, that cache interceptor should be skipped. It is expects by default
> behavior that Interceptor methods (\{@link
> CacheInterceptor#onBeforePut(Cache.Entry, Object)}, \{@link
> CacheInterceptor#onAfterPut(Cache.Entry)}, \{@link
> CacheInterceptor#onBeforeRemove(Cache.Entry)} and \{@link
> CacheInterceptor#onAfterRemove(Cache.Entry)}) will be called, but \{@link
> CacheInterceptor#onGet(Object, Object)}. This can even make DR-update flow
> broken in case of non-idempotent Interceptor and force users to call onGet
> manually as the only workaround. Also, user may want to skip Interceptor to
> avoid redundant entry transformation for DR updates and exchange with
> internal data b/w data centres which is a normal case.}}
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)