Skip to content

Always cast reference transaction votes via backchannels

Sami Hiltunen requested to merge smh-remove-backchannel-ff into master

This commit removes the backchannel voting feature flag, causing Gitaly to always cast votes to Praefect via a backchannel.

Historically, Praefect sent dialing information to Gitaly when a reference transaction was started. Gitaly would then dial back to Praefect to cast its vote. This proved difficult as in some setups Gitaly was not able to connect back to Praefect. An alternative approach was implemented where Gitaly sends votes back to Praefect via the same connection Praefect established to the Gitaly node. To facilitate this, the connection between Praefect and Gitaly was multiplexed to allow bidirectional gRPC invocations. This gRPC stream back from Gitaly to Praefect is the backchannel connection.

As Gitaly should be upgraded prior to the Praefects, there may still be older Praefects calling an upgraded Gitaly. As such, the old implementation is still left in Gitaly to avoid RPCs failing during the upgrade. Removing the old implementation thus has to be done over multiple releases.

Changelog: changed

Closes #3262 (closed)

Merge request reports

Loading