corda/node
Dan Newton 7ec59da318
ENT-5750 Keep killed flows that were started with client ids (#6697)
If a flow is started with a client id, do not delete it from the
database. Instead, set the status to `KILLED` and store a
`KilledFlowException` in the database.
Keeping it around allows it to be reattached to using the same
mechanisms as active, completed or failed flows. Furthermore, without
this change it could be possible for a flow to be triggered again if
killed while the reconnecting rpc client is being used.
If there is no client id related to the flow, then kill flow keeps its
original behaviour of deleting all traces of the flow.
Flows cannot be killed if they are `COMPLETED`, `FAILED` or `KILLED`
already.
Logs have been added if requests to kill flows in these statuses are
made.
Do not update the status + persist the exception if the flow was killed
during flow initialisation (before persisting its first checkpoint).
Remove the client id mapping if the flow was killed and did not persist
its original checkpoint.
2020-09-10 11:58:55 +01:00
..
capsule Refactored the previous bug fix to minimize duplication by reusing an existing function. 2020-08-06 11:15:19 +01:00
djvm CORDA-3750: Reimplement Corda's Crypto object for use inside the sandbox. (#6193) 2020-05-26 15:46:29 +01:00
src ENT-5750 Keep killed flows that were started with client ids (#6697) 2020-09-10 11:58:55 +01:00
build.gradle [EG-3461] removed dependency from tools.jar (#6631) 2020-08-14 10:56:37 +01:00