Skip to content

Commit e2e352e

Browse files
jespinomattermod
andauthored
Change the App dependency with Server in migrations package (mattermost#14804)
Co-authored-by: Mattermod <[email protected]>
1 parent a9ba052 commit e2e352e

7 files changed

+26
-26
lines changed

app/app.go

-3
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,6 @@ func (a *App) initJobs() {
129129
if jobsLdapSyncInterface != nil {
130130
a.srv.Jobs.LdapSync = jobsLdapSyncInterface(a)
131131
}
132-
if jobsMigrationsInterface != nil {
133-
a.srv.Jobs.Migrations = jobsMigrationsInterface(a)
134-
}
135132
if jobsPluginsInterface != nil {
136133
a.srv.Jobs.Plugins = jobsPluginsInterface(a)
137134
}

app/enterprise.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,9 @@ func RegisterJobsLdapSyncInterface(f func(*App) ejobs.LdapSyncInterface) {
7272
jobsLdapSyncInterface = f
7373
}
7474

75-
var jobsMigrationsInterface func(*App) tjobs.MigrationsJobInterface
75+
var jobsMigrationsInterface func(*Server) tjobs.MigrationsJobInterface
7676

77-
func RegisterJobsMigrationsJobInterface(f func(*App) tjobs.MigrationsJobInterface) {
77+
func RegisterJobsMigrationsJobInterface(f func(*Server) tjobs.MigrationsJobInterface) {
7878
jobsMigrationsInterface = f
7979
}
8080

app/server.go

+3
Original file line numberDiff line numberDiff line change
@@ -1290,4 +1290,7 @@ func (s *Server) initJobs() {
12901290
if jobsBleveIndexerInterface != nil {
12911291
s.Jobs.BleveIndexer = jobsBleveIndexerInterface(s)
12921292
}
1293+
if jobsMigrationsInterface != nil {
1294+
s.Jobs.Migrations = jobsMigrationsInterface(s)
1295+
}
12931296
}

migrations/advanced_permissions_phase_2.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ func (worker *Worker) runAdvancedPermissionsPhase2Migration(lastDone string) (bo
7171

7272
if progress.CurrentTable == "TeamMembers" {
7373
// Run a TeamMembers migration batch.
74-
if result, err := worker.app.Srv().Store.Team().MigrateTeamMembers(progress.LastTeamId, progress.LastUserId); err != nil {
74+
if result, err := worker.srv.Store.Team().MigrateTeamMembers(progress.LastTeamId, progress.LastUserId); err != nil {
7575
return false, progress.ToJson(), err
7676
} else {
7777
if result == nil {
@@ -86,7 +86,7 @@ func (worker *Worker) runAdvancedPermissionsPhase2Migration(lastDone string) (bo
8686
}
8787
} else if progress.CurrentTable == "ChannelMembers" {
8888
// Run a ChannelMembers migration batch.
89-
if data, err := worker.app.Srv().Store.Channel().MigrateChannelMembers(progress.LastChannelId, progress.LastUserId); err != nil {
89+
if data, err := worker.srv.Store.Channel().MigrateChannelMembers(progress.LastChannelId, progress.LastUserId); err != nil {
9090
return false, progress.ToJson(), err
9191
} else {
9292
if data == nil {

migrations/migrations.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@ const (
2020
)
2121

2222
type MigrationsJobInterfaceImpl struct {
23-
App *app.App
23+
srv *app.Server
2424
}
2525

2626
func init() {
27-
app.RegisterJobsMigrationsJobInterface(func(a *app.App) tjobs.MigrationsJobInterface {
28-
return &MigrationsJobInterfaceImpl{a}
27+
app.RegisterJobsMigrationsJobInterface(func(s *app.Server) tjobs.MigrationsJobInterface {
28+
return &MigrationsJobInterfaceImpl{s}
2929
})
3030
}
3131

migrations/scheduler.go

+7-7
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ const (
1717
)
1818

1919
type Scheduler struct {
20-
App *app.App
20+
srv *app.Server
2121
allMigrationsCompleted bool
2222
}
2323

2424
func (m *MigrationsJobInterfaceImpl) MakeScheduler() model.Scheduler {
25-
return &Scheduler{m.App, false}
25+
return &Scheduler{m.srv, false}
2626
}
2727

2828
func (scheduler *Scheduler) Name() string {
@@ -51,7 +51,7 @@ func (scheduler *Scheduler) ScheduleJob(cfg *model.Config, pendingJobs bool, las
5151

5252
// Work through the list of migrations in order. Schedule the first one that isn't done (assuming it isn't in progress already).
5353
for _, key := range MakeMigrationsList() {
54-
state, job, err := GetMigrationState(key, scheduler.App.Srv().Store)
54+
state, job, err := GetMigrationState(key, scheduler.srv.Store)
5555
if err != nil {
5656
mlog.Error("Failed to determine status of migration: ", mlog.String("scheduler", scheduler.Name()), mlog.String("migration_key", key), mlog.String("error", err.Error()))
5757
return nil, nil
@@ -61,10 +61,10 @@ func (scheduler *Scheduler) ScheduleJob(cfg *model.Config, pendingJobs bool, las
6161
// Check the migration job isn't wedged.
6262
if job != nil && job.LastActivityAt < model.GetMillis()-MIGRATION_JOB_WEDGED_TIMEOUT_MILLISECONDS && job.CreateAt < model.GetMillis()-MIGRATION_JOB_WEDGED_TIMEOUT_MILLISECONDS {
6363
mlog.Warn("Job appears to be wedged. Rescheduling another instance.", mlog.String("scheduler", scheduler.Name()), mlog.String("wedged_job_id", job.Id), mlog.String("migration_key", key))
64-
if err := scheduler.App.Srv().Jobs.SetJobError(job, nil); err != nil {
64+
if err := scheduler.srv.Jobs.SetJobError(job, nil); err != nil {
6565
mlog.Error("Worker: Failed to set job error", mlog.String("scheduler", scheduler.Name()), mlog.String("job_id", job.Id), mlog.String("error", err.Error()))
6666
}
67-
return scheduler.createJob(key, job, scheduler.App.Srv().Store)
67+
return scheduler.createJob(key, job, scheduler.srv.Store)
6868
}
6969

7070
return nil, nil
@@ -77,7 +77,7 @@ func (scheduler *Scheduler) ScheduleJob(cfg *model.Config, pendingJobs bool, las
7777

7878
if state == MIGRATION_STATE_UNSCHEDULED {
7979
mlog.Debug("Scheduling a new job for migration.", mlog.String("scheduler", scheduler.Name()), mlog.String("migration_key", key))
80-
return scheduler.createJob(key, job, scheduler.App.Srv().Store)
80+
return scheduler.createJob(key, job, scheduler.srv.Store)
8181
}
8282

8383
mlog.Error("Unknown migration state. Not doing anything.", mlog.String("migration_state", state))
@@ -102,7 +102,7 @@ func (scheduler *Scheduler) createJob(migrationKey string, lastJob *model.Job, s
102102
JOB_DATA_KEY_MIGRATION_LAST_DONE: lastDone,
103103
}
104104

105-
if job, err := scheduler.App.Srv().Jobs.CreateJob(model.JOB_TYPE_MIGRATIONS, data); err != nil {
105+
if job, err := scheduler.srv.Jobs.CreateJob(model.JOB_TYPE_MIGRATIONS, data); err != nil {
106106
return nil, err
107107
} else {
108108
return job, nil

migrations/worker.go

+9-9
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ type Worker struct {
2424
stopped chan bool
2525
jobs chan model.Job
2626
jobServer *jobs.JobServer
27-
app *app.App
27+
srv *app.Server
2828
}
2929

3030
func (m *MigrationsJobInterfaceImpl) MakeWorker() model.Worker {
@@ -33,8 +33,8 @@ func (m *MigrationsJobInterfaceImpl) MakeWorker() model.Worker {
3333
stop: make(chan bool, 1),
3434
stopped: make(chan bool, 1),
3535
jobs: make(chan model.Job),
36-
jobServer: m.App.Srv().Jobs,
37-
app: m.App,
36+
jobServer: m.srv.Jobs,
37+
srv: m.srv,
3838
}
3939

4040
return &worker
@@ -83,7 +83,7 @@ func (worker *Worker) DoJob(job *model.Job) {
8383

8484
cancelCtx, cancelCancelWatcher := context.WithCancel(context.Background())
8585
cancelWatcherChan := make(chan interface{}, 1)
86-
go worker.app.Srv().Jobs.CancellationWatcher(cancelCtx, job.Id, cancelWatcherChan)
86+
go worker.srv.Jobs.CancellationWatcher(cancelCtx, job.Id, cancelWatcherChan)
8787

8888
defer cancelCancelWatcher()
8989

@@ -111,7 +111,7 @@ func (worker *Worker) DoJob(job *model.Job) {
111111
return
112112
} else {
113113
job.Data[JOB_DATA_KEY_MIGRATION_LAST_DONE] = progress
114-
if err := worker.app.Srv().Jobs.UpdateInProgressJobData(job); err != nil {
114+
if err := worker.srv.Jobs.UpdateInProgressJobData(job); err != nil {
115115
mlog.Error("Worker: Failed to update migration status data for job", mlog.String("worker", worker.name), mlog.String("job_id", job.Id), mlog.String("error", err.Error()))
116116
worker.setJobError(job, err)
117117
return
@@ -122,20 +122,20 @@ func (worker *Worker) DoJob(job *model.Job) {
122122
}
123123

124124
func (worker *Worker) setJobSuccess(job *model.Job) {
125-
if err := worker.app.Srv().Jobs.SetJobSuccess(job); err != nil {
125+
if err := worker.srv.Jobs.SetJobSuccess(job); err != nil {
126126
mlog.Error("Worker: Failed to set success for job", mlog.String("worker", worker.name), mlog.String("job_id", job.Id), mlog.String("error", err.Error()))
127127
worker.setJobError(job, err)
128128
}
129129
}
130130

131131
func (worker *Worker) setJobError(job *model.Job, appError *model.AppError) {
132-
if err := worker.app.Srv().Jobs.SetJobError(job, appError); err != nil {
132+
if err := worker.srv.Jobs.SetJobError(job, appError); err != nil {
133133
mlog.Error("Worker: Failed to set job error", mlog.String("worker", worker.name), mlog.String("job_id", job.Id), mlog.String("error", err.Error()))
134134
}
135135
}
136136

137137
func (worker *Worker) setJobCanceled(job *model.Job) {
138-
if err := worker.app.Srv().Jobs.SetJobCanceled(job); err != nil {
138+
if err := worker.srv.Jobs.SetJobCanceled(job); err != nil {
139139
mlog.Error("Worker: Failed to mark job as canceled", mlog.String("worker", worker.name), mlog.String("job_id", job.Id), mlog.String("error", err.Error()))
140140
}
141141
}
@@ -157,7 +157,7 @@ func (worker *Worker) runMigration(key string, lastDone string) (bool, string, *
157157
}
158158

159159
if done {
160-
if saveErr := worker.app.Srv().Store.System().Save(&model.System{Name: key, Value: "true"}); saveErr != nil {
160+
if saveErr := worker.srv.Store.System().Save(&model.System{Name: key, Value: "true"}); saveErr != nil {
161161
return false, "", saveErr
162162
}
163163
}

0 commit comments

Comments
 (0)