|
Adding invariant work is an extra sanity check to avoid any future bugs like BF-18301 (step down misses killing some unprepared transactions).Luckily, this bug got fixed by SERVER-47645 (invalidates all session at the end of step down, which in-turn kills all leaked unprepared transactions). So, I would say if adding an invariant requires lots of code changes, it's ok to close the ticket without fix. Moving back to Needs Scheduling.
steven.vannelli, It was assigned back to me for investigation to clarify the purpose of the ticket. I don't have any WIP patch for this invariant.
|
|
Note: This work came out of this BF investigation. Failure to guarantee the above promise while stashing the transaction resource was leading to a complicated deadlock.
In order to have this invariant to pass, I think we should make that killSessionsAbortUnpreparedTransactions kills the active/inactive multi-document transactions with transaction state kNone (HINT: session->currentOperation()->inMultiDocumentTransaction) kInProgress by doing changes to this filter.
|