Nikita Amelchev created IGNITE-29254:
----------------------------------------
Summary: 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
{{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)