[
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)