Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/praefect/main.go')
-rw-r--r--cmd/praefect/main.go19
1 files changed, 14 insertions, 5 deletions
diff --git a/cmd/praefect/main.go b/cmd/praefect/main.go
index 74abb96c8..3f8ee04d1 100644
--- a/cmd/praefect/main.go
+++ b/cmd/praefect/main.go
@@ -322,11 +322,14 @@ func run(cfgs []starter.Config, conf config.Config) error {
healthChecker = hm
elector := nodes.NewPerRepositoryElector(logger, db, hm)
- go func() {
- if err := elector.Run(ctx, hm.Updated()); err != nil {
- logger.WithError(err).Error("primary elector exited")
- }
- }()
+
+ if conf.Failover.Enabled {
+ go func() {
+ if err := elector.Run(ctx, hm.Updated()); err != nil {
+ logger.WithError(err).Error("primary elector exited")
+ }
+ }()
+ }
primaryGetter = elector
assignmentStore = datastore.NewAssignmentStore(db, conf.StorageNames())
@@ -341,6 +344,11 @@ func run(cfgs []starter.Config, conf config.Config) error {
conf.DefaultReplicationFactors(),
)
} else {
+ if conf.Failover.Enabled {
+ logger.WithField("election_strategy", conf.Failover.ElectionStrategy).Warn(
+ "Deprecated election stategy in use, migrate to repository specific primary nodes following https://docs.gitlab.com/ee/administration/gitaly/praefect.html#migrate-to-repository-specific-primary-gitaly-nodes. The other election strategies are scheduled for removal in GitLab 14.0.")
+ }
+
nodeMgr, err := nodes.NewManager(logger, conf, db, csg, nodeLatencyHistogram, protoregistry.GitalyProtoPreregistered, errTracker, clientHandshaker)
if err != nil {
return err
@@ -518,6 +526,7 @@ func getStarterConfigs(conf config.Config) ([]starter.Config, error) {
}
addrConf = starter.Config{Name: schema, Addr: addr}
}
+ addrConf.HandoverOnUpgrade = true
if _, found := unique[addrConf.Addr]; found {
return nil, fmt.Errorf("same address can't be used for different schemas %q", addr)