mirror of
https://github.com/corda/corda.git
synced 2024-12-20 21:43:14 +00:00
bd9b50bf7c
Do not keep a flow in for observation if it receives an unexpected session end message while in `ReceiveFinalityFlow` and `ReceiveTransactionFlow` (due to being called by the former). This is done by checking the message of the `UnexpectedFlowEndException` that is thrown when a session end message instead of a data message and if the stacktrace has `ReceiveTransactionFlow` at the top, after removing statemachine stack frames. Checking the stacktrace for `ReceiveTransactionFlow` is important because the unexpected session end session message is only ok if a transaction has not already been received. For example, if `ResolveTransactionsFlow` is in the stack, then this indicates failure when receiving transaction dependencies on a transaction that should be recorded. Also added a test that highlights that the `UnexpectedFlowEndException` caused by the session end message can be caught, therefore users can determine their own behaviour if desired. |
||
---|---|---|
.. | ||
capsule | ||
djvm | ||
src | ||
build.gradle |