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