Given gate-and-submit has changes A <- B <- C each having jobs running
A user manually merges A, The jobs are still running in Zuul
When jobs are completed, Zuul submits the change with --verified +2
Gerrit reject the review since it tries to vote on a closed change
Zuul considers A failed to merge. It thus cancel jobs of B and C and rebuild the queue.
Result: waste of time.
Example with https://gerrit.wikimedia.org/r/c/458603 . /var/log/zuul/error.log has:
Exception: Gerrit error executing gerrit review --project mediawiki/extensions/UniversalLanguageSelector --message "Gate pipeline build succeeded." --verified 2 --submit 458603,2
The Gerrit list has a post (Gerrit 2.14: Cannot post votes or downgrade votes on closed changes) that exactly describes it. You are not supposed to change votes after a change is closed. And it is said:
Labels can be configured to allow for post-submit votes using the allowPostSubmit setting. However, as explained there, you can't cast a vote score lower than the submit-time score, by design.
Given we vote verified 2 and it is the highest score, that should be fine.
''It used to be possible to bypass the limitation with --force-message but that has been removed a few Gerrit versions ago''
Find out in Gerrit how to configure allowPostSubmit for the verified label.