ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Mashenkov (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (IGNITE-6011) EntryProcessor can make data inconsistent if fails on TX cache.
Date Wed, 09 Aug 2017 14:11:00 GMT

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

Andrew Mashenkov updated IGNITE-6011:
-------------------------------------
    Description: 
I'd expect that with FULL_SYNC write mode and TX cache data always be consistent.
And if EntryProcessor fails on primary (or backup) node and pass on backup (or primary) then
whole transaction will be rolled back.
But I observe old value on node where EP has failed and new value on other nodes.

PFA repro attached.

Looks like we should apply EP on lock phase and fail TX if there is any failures.

UPD: We should also check if ignite has an adequate behavior if possible when Error (not Exception)
occurs, e.g. assert in user code.

  was:
I'd expect that with FULL_SYNC write mode and TX cache data always be consistent.
And if EntryProcessor fails on primary (or backup) node and pass on backup (or primary) then
whole transaction will be rolled back.

But I observe old value on node where EP has failed and new value on other nodes.

PFA repro attached.


Looks like we should apply EP on lock phase and fail TX if there is any failures.


> EntryProcessor can make data inconsistent if fails on TX cache.
> ---------------------------------------------------------------
>
>                 Key: IGNITE-6011
>                 URL: https://issues.apache.org/jira/browse/IGNITE-6011
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache
>            Reporter: Andrew Mashenkov
>         Attachments: EntryProcessorBug.java
>
>
> I'd expect that with FULL_SYNC write mode and TX cache data always be consistent.
> And if EntryProcessor fails on primary (or backup) node and pass on backup (or primary)
then whole transaction will be rolled back.
> But I observe old value on node where EP has failed and new value on other nodes.
> PFA repro attached.
> Looks like we should apply EP on lock phase and fail TX if there is any failures.
> UPD: We should also check if ignite has an adequate behavior if possible when Error (not
Exception) occurs, e.g. assert in user code.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message