[
https://issues.apache.org/jira/browse/IGNITE-29254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18143223#comment-18143223
]
Oleg Valuyskiy commented on IGNITE-29254:
-----------------------------------------
Successful build:
[https://ci2.ignite.apache.org/buildConfiguration/IgniteExtensions_Tests_RunAllTests?branch=pull%2F369%2F#all-projects]
> 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
> Assignee: Oleg Valuyskiy
> 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)