`before_transition` triggered multiple times because of optimistic locking
Description
Our Ruby code for auto-retrying a build is defined in before_transition callback, and it appears that before_transition can be called multiple twice when using optimistic locking and reapplying the code when lock has been found.
This can lead to unexpected results.
Edited by Grzegorz Bizon