diff --git a/node/src/integration-test/kotlin/net/corda/node/services/statemachine/StatemachineErrorHandlingTest.kt b/node/src/integration-test/kotlin/net/corda/node/services/statemachine/StatemachineErrorHandlingTest.kt index 1f8b1835f2..914ae57403 100644 --- a/node/src/integration-test/kotlin/net/corda/node/services/statemachine/StatemachineErrorHandlingTest.kt +++ b/node/src/integration-test/kotlin/net/corda/node/services/statemachine/StatemachineErrorHandlingTest.kt @@ -403,7 +403,7 @@ class StatemachineErrorHandlingTest : IntegrationTest() { * if an error transition moves into another error transition. The flow still recovers from this state. 5 exceptions were thrown to verify * that 3 retries are attempted before recovering. * - * TODO Fix this scenario - it is currently hanging after putting the flow in for observation + * CORDA-3352 - it is currently hanging after putting the flow in for observation */ @Test @Ignore @@ -874,7 +874,7 @@ class StatemachineErrorHandlingTest : IntegrationTest() { * The flow is discharged and replayed from the hospital once. After failing during the replay, the flow is forced into overnight * observation. It is not ran again after this point * - * TODO Fix this scenario - it is currently hanging after putting the flow in for observation + * CORDA-3352 - it is currently hanging after putting the flow in for observation * */ @Test diff --git a/node/src/main/kotlin/net/corda/node/services/statemachine/StateTransitionExceptions.kt b/node/src/main/kotlin/net/corda/node/services/statemachine/StateTransitionExceptions.kt index 6e78fd5113..e32014ab18 100644 --- a/node/src/main/kotlin/net/corda/node/services/statemachine/StateTransitionExceptions.kt +++ b/node/src/main/kotlin/net/corda/node/services/statemachine/StateTransitionExceptions.kt @@ -3,7 +3,7 @@ package net.corda.node.services.statemachine import net.corda.core.CordaException import net.corda.core.serialization.ConstructorForDeserialization -// TODO These exceptions should not be propagated up to rpc as they suppress the real exceptions +// CORDA-3353 - These exceptions should not be propagated up to rpc as they suppress the real exceptions class StateTransitionException( val transitionAction: Action?, diff --git a/node/src/main/kotlin/net/corda/node/services/statemachine/TransitionExecutorImpl.kt b/node/src/main/kotlin/net/corda/node/services/statemachine/TransitionExecutorImpl.kt index 85a9f57f60..883a7d9dad 100644 --- a/node/src/main/kotlin/net/corda/node/services/statemachine/TransitionExecutorImpl.kt +++ b/node/src/main/kotlin/net/corda/node/services/statemachine/TransitionExecutorImpl.kt @@ -48,6 +48,8 @@ class TransitionExecutorImpl( // Instead we just keep around the old error state and wait for a new schedule, perhaps // triggered from a flow hospital log.warn("Error while executing $action during transition to errored state, aborting transition", exception) + // CORDA-3354 - Go to the hospital with the new error that has occurred + // while already in a error state (as this error could be for a different reason) return Pair(FlowContinuation.Abort, previousState.copy(isFlowResumed = false)) } else { // Otherwise error the state manually keeping the old flow state and schedule a DoRemainingWork