You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Pavel Tupitsyn (Jira)" <ji...@apache.org> on 2021/04/16 15:32:00 UTC

[jira] [Created] (IGNITE-14577) .NET: error serialization failed when thread is interrupted

Pavel Tupitsyn created IGNITE-14577:
---------------------------------------

             Summary: .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


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}}
* Do not interrupt binary meta updates



--
This message was sent by Atlassian Jira
(v8.3.4#803005)