Skip to content

Geo: Help Praefect recover after it does an internal failover

From gitaly#3493 (comment 536442781):

Praefect responds with code FailedPrecondition and message repository is in read-only mode: https://gitlab.com/gitlab-org/gitaly/-/blob/f1b141704f05163c5cf95185151570b844cc8b1c/internal/praefect/coordinator.go#L33

Proposal

When a secondary encounters this particular error while syncing, Geo should schedule the next retry at of this repository later than it usually would. For example, we could set a floor of 1 minute. And/or we could double the calculated delay.