We need to introduce Cancelling/Killing invocation status variants, specifically for Killing this means we need to slightly modify the existing behavior to wait the "End" message from the invoker after the partition processor sends "Abort", and then send back the "killed" response to sinks.
For now I scope out the cancelling state, as this is not the same as killing:
A cancelling invocation can be either invoked or suspended
A killing invocation can transition only from invoked. There is no need for "suspended killing" state at all, because the transition is executed immediately
We need to introduce Cancelling/Killing invocation status variants, specifically for Killing this means we need to slightly modify the existing behavior to wait the "End" message from the invoker after the partition processor sends "Abort", and then send back the "killed" response to sinks.
This helps with observability and we need it for https://github.com/restatedev/restate/issues/895 to make sure we don't process journal entries from the previous retry attempt.