State machine & checkpoints API

Description

Currently:

Corda nodes store all flow checkpoints in memory

If there are too many flow checkpoints, the node crashes. Additionally, flows that fail due to memory errors do not necessarily reach the flow hospital

Upon restarting, the node tries to load all suspended flows into memory again. As a result, it will re-encounter a memory exception, and fail to start.

The node should be modified to offload suspended flows to the DB instead, and to guarantee that flows failing due to memory errors reach the flow hospital.

Assignee

Dan Newton

Reporter

sachin.gokhale@r3.com

Epic classification

SME Epic

Priority

High

Engineering Teams

Kernel - Flow State Machine

Fix versions

Story Points / Dev Days

10

Build cut

None
Configure