Full abort on validate failure merging `orElse`.
When a validation failure happens in a branch of an orElse
, we must abort the entire transaction. Previously, only the branch was aborted. If the validation failure was not a read from the branch, nothing will change by attempting it again. In the future we could consider partial rollback attempts, but we need to account for the TVar
use extent to know if the partial rollback includes the read that has been found to be invalid.
Fixes #16707 (closed)
Edited by Ben Gamari