Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 7932d0f

Browse files
committed
Merge branch 'reorder-startup-services' into 'master'
fix: init provisioner after starting API server See merge request postgres-ai/database-lab!809
2 parents 9e29ee5 + 8ae9d5a commit 7932d0f

File tree

3 files changed

+36
-33
lines changed

3 files changed

+36
-33
lines changed

‎engine/cmd/database-lab/main.go‎

Lines changed: 34 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -156,27 +156,9 @@ func main() {
156156
}
157157

158158
obs := observer.NewObserver(docker, &cfg.Observer, pm)
159-
160-
go removeObservingClones(observingChan, obs)
161-
162-
systemMetrics := billing.GetSystemMetrics(pm)
163-
164-
tm.SendEvent(ctx, telemetry.EngineStartedEvent, telemetry.EngineStarted{
165-
EngineVersion: version.GetVersion(),
166-
DBEngine: cfg.Global.Engine,
167-
DBVersion: provisioner.DetectDBVersion(),
168-
Pools: pm.CollectPoolStat(),
169-
Restore: retrievalSvc.ReportState(),
170-
System: systemMetrics,
171-
})
172-
173159
billingSvc := billing.New(platformSvc.Client, &engProps, pm)
174160

175-
if err := billingSvc.RegisterInstance(ctx, systemMetrics); err != nil {
176-
log.Msg("Skip registering instance:", err)
177-
}
178-
179-
log.Msg("DLE Edition:", engProps.GetEdition())
161+
go removeObservingClones(observingChan, obs)
180162

181163
embeddedUI := embeddedui.New(cfg.EmbeddedUI, engProps, runner, docker)
182164

@@ -201,12 +183,6 @@ func main() {
201183

202184
server := srv.NewServer(&cfg.Server, &cfg.Global, &engProps, docker, cloningSvc, provisioner, retrievalSvc, platformSvc,
203185
billingSvc, obs, pm, tm, tokenHolder, logFilter, embeddedUI, reloadConfigFn)
204-
shutdownCh := setShutdownListener()
205-
206-
go setReloadListener(ctx, engProps, provisioner, billingSvc,
207-
retrievalSvc, pm, cloningSvc, platformSvc,
208-
embeddedUI, server,
209-
logCleaner, logFilter)
210186

211187
server.InitHandlers()
212188

@@ -216,8 +192,6 @@ func main() {
216192
}
217193
}()
218194

219-
go billingSvc.CollectUsage(ctx, systemMetrics)
220-
221195
if cfg.EmbeddedUI.Enabled {
222196
go func() {
223197
if err := embeddedUI.Run(ctx); err != nil {
@@ -227,6 +201,39 @@ func main() {
227201
}()
228202
}
229203

204+
if err := provisioner.Init(); err != nil {
205+
log.Err(err)
206+
emergencyShutdown()
207+
208+
return
209+
}
210+
211+
systemMetrics := billing.GetSystemMetrics(pm)
212+
213+
tm.SendEvent(ctx, telemetry.EngineStartedEvent, telemetry.EngineStarted{
214+
EngineVersion: version.GetVersion(),
215+
DBEngine: cfg.Global.Engine,
216+
DBVersion: provisioner.DetectDBVersion(),
217+
Pools: pm.CollectPoolStat(),
218+
Restore: retrievalSvc.ReportState(),
219+
System: systemMetrics,
220+
})
221+
222+
if err := billingSvc.RegisterInstance(ctx, systemMetrics); err != nil {
223+
log.Msg("Skip registering instance:", err)
224+
}
225+
226+
log.Msg("DBLab Edition:", engProps.GetEdition())
227+
228+
shutdownCh := setShutdownListener()
229+
230+
go setReloadListener(ctx, engProps, provisioner, billingSvc,
231+
retrievalSvc, pm, cloningSvc, platformSvc,
232+
embeddedUI, server,
233+
logCleaner, logFilter)
234+
235+
go billingSvc.CollectUsage(ctx, systemMetrics)
236+
230237
if err := retrievalSvc.Run(ctx); err != nil {
231238
log.Err("Failed to run the data retrieval service:", err)
232239
log.Msg(contactSupport)

‎engine/internal/cloning/base.go‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,8 @@ func (c *Base) Reload(cfg Config) {
7474

7575
// Run initializes and runs cloning component.
7676
func (c *Base) Run(ctx context.Context) error {
77-
if err := c.provision.Init(); err != nil {
78-
return errors.Wrap(err, "failed to run cloning service")
77+
if err := c.provision.RevisePortPool(); err != nil {
78+
return fmt.Errorf("failed to revise port pool: %w", err)
7979
}
8080

8181
if _, err := c.GetSnapshots(); err != nil {

‎engine/internal/provision/mode_local.go‎

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -128,10 +128,6 @@ func isValidConfigModeLocal(config Config) error {
128128

129129
// Init inits provision.
130130
func (p *Provisioner) Init() error {
131-
if err := p.RevisePortPool(); err != nil {
132-
return fmt.Errorf("failed to revise port pool: %w", err)
133-
}
134-
135131
if err := docker.PrepareImage(p.ctx, p.dockerClient, p.config.DockerImage); err != nil {
136132
return fmt.Errorf("cannot prepare docker image %s: %w", p.config.DockerImage, err)
137133
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /