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:
authorSami Hiltunen <shiltunen@gitlab.com>2021-03-26 11:32:21 +0300
committerSami Hiltunen <shiltunen@gitlab.com>2021-04-01 12:50:52 +0300
commit9c08dc0188e1a00866c9c1361bfd67862bec01d7 (patch)
tree409b059fcffbef061ecf7d3414339b39ca8d766a /cmd/praefect/main.go
parent54f0de751b48b23424640cd851a8222b5025f6bc (diff)
Inject PrimaryGetter and Connection in Praefect's Info server
This commit wires up a PrimaryGetter and Connections into Praefect's Info server as they'll be needed when converting the methods to support variable replication factor and repository specific primaries. ReplicationFactorSetter is also converted into AssignmentStore so the methods can acccess assignments later.
Diffstat (limited to 'cmd/praefect/main.go')
-rw-r--r--cmd/praefect/main.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/cmd/praefect/main.go b/cmd/praefect/main.go
index 0e229b8fb..4daafd172 100644
--- a/cmd/praefect/main.go
+++ b/cmd/praefect/main.go
@@ -304,6 +304,7 @@ func run(cfgs []starter.Config, conf config.Config) error {
healthChecker praefect.HealthChecker
nodeSet praefect.NodeSet
router praefect.Router
+ primaryGetter praefect.PrimaryGetter
)
if conf.Failover.ElectionStrategy == config.ElectionStrategyPerRepository {
nodeSet, err = praefect.DialNodes(ctx, conf.VirtualStorages, protoregistry.GitalyProtoPreregistered, errTracker)
@@ -327,6 +328,7 @@ func run(cfgs []starter.Config, conf config.Config) error {
}
}()
+ primaryGetter = elector
assignmentStore = datastore.NewAssignmentStore(db, conf.StorageNames())
router = praefect.NewPerRepositoryRouter(
@@ -342,6 +344,7 @@ func run(cfgs []starter.Config, conf config.Config) error {
healthChecker = praefect.HealthChecker(nodeManager)
nodeSet = praefect.NodeSetFromNodeManager(nodeManager)
router = praefect.NewNodeManagerRouter(nodeManager, rs)
+ primaryGetter = nodeManager
nodeManager.Start(conf.Failover.BootstrapInterval.Duration(), conf.Failover.MonitorInterval.Duration())
}
@@ -383,6 +386,8 @@ func run(cfgs []starter.Config, conf config.Config) error {
rs,
assignmentStore,
protoregistry.GitalyProtoPreregistered,
+ nodeSet.Connections(),
+ primaryGetter,
)
)
metricsCollectors = append(metricsCollectors, transactionManager, coordinator, repl)