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

Nikita Amelchev updated IGNITE-29254:
-------------------------------------
    Fix Version/s: 2.20

> Fix node failure on unreadable entry value in CacheVersionConflictResolverImpl
> ------------------------------------------------------------------------------
>
>                 Key: IGNITE-29254
>                 URL: https://issues.apache.org/jira/browse/IGNITE-29254
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Nikita Amelchev
>            Priority: Minor
>             Fix For: 2.20
>
>
> {{CacheVersionConflictResolverImpl#isUseNew}} reads entry values outside the 
> {{try}} block that guards the field comparison.
> If reading fails (e.g. {{BinaryInvalidTypeException}} when the value class is 
> absent on the destination cluster), the exception
> escapes the resolver and the core treats it as a node failure:
> * TRANSACTIONAL: heuristic transaction failure;
> * ATOMIC: {{CorruptedTreeException}} from {{BPlusTree#invoke}}.
> Both are CRITICAL_ERROR, the node stops, the applier stops, the batch is 
> replayed after restart and the next primary node fails the same way.
> A value that cannot be read should be handled like a failed field comparison 
> already is: ERROR with the key, {{markResolveFailed}},
> update ignored. The node and replication of other entries keep working, and 
> the entry can be delivered again with the resend command.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to