Due to a few bugs in Steno, we ended up in dogfood (an potentially customer racks) with a handful of sagas in an "unwinding" state whose current_sec is a Nexus instance that no longer exists.
Initially, we assumed we could mark these sagas as abandoned during the saga recovery process, but later found that the initial orphaned sagas were still there. This was because during saga recovery, each Nexus only attempts to recover sagas that are assigned to itself. This means that these sagas whose current_sec no longer exists, will never go through the saga recovery process, and therefore are never marked as abandoned.
An idea was floated around to somehow reassign these sagas to a Nexus so they can be processed during the saga recovery task and be marked as abandoned there. I will look into this and see how feasible it is.
Due to a few bugs in Steno, we ended up in dogfood (an potentially customer racks) with a handful of sagas in an "unwinding" state whose
current_secis a Nexus instance that no longer exists.Initially, we assumed we could mark these sagas as abandoned during the saga recovery process, but later found that the initial orphaned sagas were still there. This was because during saga recovery, each Nexus only attempts to recover sagas that are assigned to itself. This means that these sagas whose
current_secno longer exists, will never go through the saga recovery process, and therefore are never marked as abandoned.An idea was floated around to somehow reassign these sagas to a Nexus so they can be processed during the saga recovery task and be marked as abandoned there. I will look into this and see how feasible it is.