Skip to content

operations: Fix UserRebaseConfirmable not using transactions

When running UserRebaseConfirmable in a Gitaly Cluster setup, it was noted that multiple pipelines get created, which is an indicator of hooks running for each of the Gitaly nodes instead of once only for the transaction's primary. And indeed, UserRebaseConfirmable never passes on information about transactions to update_branch(), which effectively means that each node will be considered to be a primary and that no transactional voting is happening.

Fix the issue by passing along the transaction to rebase() and update_branch(). Add a test to verify that voting happens as expected and that hooks only run on the primary node.

Closes #3569 (closed)

Merge request reports