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)

Reply via email to