mirror of
https://github.com/corda/corda.git
synced 2025-02-20 17:33:15 +00:00
Checkpoint dumping of paused flows was not working because the dumper expects a flow to have a `FlowState` of `Unstarted` or `Started`, however due to a memory optimisation paused flows have their `FlowState` set to `Paused`. This was causing causing an exception as well as a loss of potentially useful information. A flag `alwaysDeserializeCheckpoint` has been added to `Checkpoint.Serialized.deserialize` which skips the memory optimisation and forces the deserialization of the flow's `FlowState`. Paused flows are now included in the dumped output along with their real `FlowState` which is useful to users even if the flow is paused rather than waiting for something to complete. The status of the flow has also been added to the JSON output to assist users in debugging their flows.