[ 
https://issues.apache.org/jira/browse/IGNITE-14577?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavel Tupitsyn updated IGNITE-14577:
------------------------------------
    Description: 
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

  was:
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


> .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: Major
>              Labels: .NET
>
> 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)

Reply via email to