You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Mikhail Petrov (Jira)" <ji...@apache.org> on 2023/02/07 16:57:00 UTC

[jira] [Created] (IGNITE-18750) [DotNet] Compute modificators are not reset properly after task execution.

Mikhail Petrov created IGNITE-18750:
---------------------------------------

             Summary: [DotNet] Compute modificators are not reset properly after task execution.
                 Key: IGNITE-18750
                 URL: https://issues.apache.org/jira/browse/IGNITE-18750
             Project: Ignite
          Issue Type: Bug
            Reporter: Mikhail Petrov


Consider the followig exampte (It can be placed in ComputeApiTest to run it)
{code:java}
[Test]
        public void TestTaskOptionsPropagation()
        {
            ICompute compute = _grid1.GetCompute();
            
            compute.WithTimeout(500).Call(new ComputeFunc());

            compute.ExecuteJavaTask<object>(ComputeClientTests.TestTask, (long)1000);
        }
{code}
Currently compute.ExecuteJavaTask call will fail with timeout exception even no "withTimeout" modifier was applied.

It happens because during PlatformCompute#processInLongOutLong execution we apply task modifiers to both compute instances. As a result after
`compute.WithTimeout(500).Call(new ComputeFunc());` execution
`computeForPlatform` compute instance will reset its task modifiers and `compute`
comput instance will not.

So the next task execution after `compute.WithTimeout(500).Call(new ComputeFunc());` that uses `compute`instance will be executed with timout modifier applied even it was not applied by the user.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)