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

Denis Chudov updated IGNITE-23075:
----------------------------------
    Description: 
h3. Motivation

For the majority of the cluster transaction operation, we use a Timeout worker. 
It is a single thread that completes futures with a timeout exception. But if 
the thread stops (due to an unhandled exception) no more operations can time 
out.
h3. Definition of done

The falure processor has to be called on the catch block of the timeout worker.
{code:java}
} catch (Throwable t) {
    failureProcessor.process(new FailureContext(SYSTEM_WORKER_TERMINATION, t));
    
    throw new IgniteInternalException(t);
}{code}
*Implementation notes*

It would be also nice to add tests for timeout worker.

 

  was:
h3. Motivation

For the majority of the cluster transaction operation, we use a Timeout worker. 
It is a single thread that completes futures with a timeout exception. But if 
the thread stops (due to an unhandled exception) no more operations can time 
out.
h3. Definition of done

The falure processor has to be called on the catch block of the timeout worker.
{code:java}
} catch (Throwable t) {
  failureProcessor.process(new FailureContext(SYSTEM_WORKER_TERMINATION, t));

  throw new IgniteInternalException(t);
}
{code}


> Call failure processor during a timeout worker crash
> ----------------------------------------------------
>
>                 Key: IGNITE-23075
>                 URL: https://issues.apache.org/jira/browse/IGNITE-23075
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Vladislav Pyatkov
>            Priority: Major
>              Labels: ignite-3
>
> h3. Motivation
> For the majority of the cluster transaction operation, we use a Timeout 
> worker. It is a single thread that completes futures with a timeout 
> exception. But if the thread stops (due to an unhandled exception) no more 
> operations can time out.
> h3. Definition of done
> The falure processor has to be called on the catch block of the timeout 
> worker.
> {code:java}
> } catch (Throwable t) {
>     failureProcessor.process(new FailureContext(SYSTEM_WORKER_TERMINATION, 
> t));
>     
>     throw new IgniteInternalException(t);
> }{code}
> *Implementation notes*
> It would be also nice to add tests for timeout worker.
>  



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

Reply via email to