diff options
author | Sami Hiltunen <shiltunen@gitlab.com> | 2021-03-26 11:32:21 +0300 |
---|---|---|
committer | Sami Hiltunen <shiltunen@gitlab.com> | 2021-04-01 12:50:52 +0300 |
commit | 9c08dc0188e1a00866c9c1361bfd67862bec01d7 (patch) | |
tree | 409b059fcffbef061ecf7d3414339b39ca8d766a /cmd/praefect/main.go | |
parent | 54f0de751b48b23424640cd851a8222b5025f6bc (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.go | 5 |
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) |