You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Sergey Chugunov (Jira)" <ji...@apache.org> on 2025/07/04 12:56:00 UTC

[jira] [Assigned] (IGNITE-25641) Failure in CacheInterceptor#onBeforePut can lead to CacheStore inconsitency

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

Sergey Chugunov reassigned IGNITE-25641:
----------------------------------------

    Assignee: Sergey Chugunov

> Failure in CacheInterceptor#onBeforePut can lead to CacheStore inconsitency
> ---------------------------------------------------------------------------
>
>                 Key: IGNITE-25641
>                 URL: https://issues.apache.org/jira/browse/IGNITE-25641
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Ilya Shishkov
>            Assignee: Sergey Chugunov
>            Priority: Major
>              Labels: ise
>         Attachments: CacheStoreWithInterceptorFailureTest.patch
>
>
> {{CacheInterceptor#onBeforePut}} can be invoked twice, and second call occurs after committing to external database (i.e. after {{CacheStoreSession#onSessionEnd}}). In case of failure in interceptor during second invocation we will get inconsistency between external database and Ignite cache.
> As you can see in attached reproducer ([^CacheStoreWithInterceptorFailureTest.patch]), second invocation happens on origination node, i.e. on transaction coordinator. 
> If transaction coordinator is primary, then fail in second invocation on primary leads to inconsistency between cache and external storage.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)