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