[
https://issues.apache.org/jira/browse/IGNITE-14577?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17323896#comment-17323896
]
Ilya Kasnacheev commented on IGNITE-14577:
------------------------------------------
I think we should not interrupt binary meta updates. It causes issues for Java
code too.
> .NET: error serialization failed when thread is interrupted
> -----------------------------------------------------------
>
> Key: IGNITE-14577
> URL: https://issues.apache.org/jira/browse/IGNITE-14577
> Project: Ignite
> Issue Type: New Feature
> Components: platforms
> Reporter: Pavel Tupitsyn
> Assignee: Pavel Tupitsyn
> Priority: Minor
> Labels: .NET
> Attachments: Untitled, Untitled (1), Untitled (2)
>
>
> When using {{ICompute.WithTimeout}}, the following scenario is possible:
> * Timeout is reached, and Ignite interrupts compute job thread
> * {{InterruptedException}} is thrown from the job code
> * Ignite.NET tries to serialize the job result (exception) in
> {{BinaryUtils.WriteInvocationResult}}
> * {{BinaryProcessor.PutBinaryTypes}} is called during the serialization
> * Thread is interrupted, so metadata update fails with
> {{InterruptedException}}
> As a result, instead of a simple timeout exception, there is a lot of cryptic
> errors in the log.
> Possible fixes:
> * Handle {{InterruptedException}} as a special case in
> {{WriteInvocationResult}} so we don't need to send meta updates
> * Do not interrupt binary meta updates
--
This message was sent by Atlassian Jira
(v8.3.4#803005)