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

Vadim Pakhnushev reassigned IGNITE-23233:
-----------------------------------------

    Assignee: Vadim Pakhnushev

> Infinite loop in RemoteJobExecution#stateAsync()
> ------------------------------------------------
>
>                 Key: IGNITE-23233
>                 URL: https://issues.apache.org/jira/browse/IGNITE-23233
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Roman Puchkovskiy
>            Assignee: Vadim Pakhnushev
>            Priority: Major
>              Labels: ignite-3
>
> There is just 1 node in cluster.
> RemoteJobExecution.stateAsync() -> ComputeMessaging.removeStateAsync() -> 
> MessagingService.invoke (to self) -> ComputeMessaging.processRequest() -> 
> ComputeMessaging.processJobStateRequest() -> ExecutionManager.stateAsync() -> 
> RemoteJobExecution.stateAsync()
> RemoteJobExecution instance in the beginning and in the end is the same, so 
> an infinite recursion is formed. It results in a StackOverflowException.
> This can be reproduced by adding the following test to 
> ItInProcessRestartApiReferencesTest:
> @Test
> void test() {
> JobExecution<String> execution = 
> refs.compute.submit(anyNode(refs.clusterNodes), 
> JobDescriptor.builder(NoOpJob.class).build(),
> null);
> assertThat(execution.stateAsync(), willCompleteSuccessfully());
> }
> The test itself does NOT fail, but, if you add an exception breakpoint for 
> StackOverflowError and run the test in Debug, the error will trigger the 
> breakpoint.
> The error is also swallowed somewhere, the test passes successfully. This 
> needs to be investigated as well.



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

Reply via email to