MDEV-34122: Assertion entry failed in Active_tranx::assert_thd_is_waiter
In between the binlogging of a transaction and its wait, it is possible that its entry in Active_tranx was removed if semi-sync was switched off and on. This fires an assertion that checks before awaiting an ACK that the entry must exist in Active_tranx. The fix is to ensure that the entry exists before awaiting the ACK, and if there is no entry, write an informative message to the user explaining that the transaction is skipping its wait. Additionally, debug-build only logic is added to ensure that the cause of the missing entry is due to semi-sync being turned off and on. Reviewed By: ============ <TODO>
Showing
Please register or sign in to comment