diff --git a/ee/query-service/license/manager.go b/ee/query-service/license/manager.go index 6dcc704e3a..aa58e7e5a5 100644 --- a/ee/query-service/license/manager.go +++ b/ee/query-service/license/manager.go @@ -67,6 +67,30 @@ func StartManager(dbType string, db *sqlx.DB, useLicensesV3 bool, features ...ba repo: &repo, } + if useLicensesV3 { + // get active license from the db + active, err := m.repo.GetActiveLicense(context.Background()) + if err != nil { + return m, err + } + + // if we have an active license then need to fetch the complete details + if active != nil { + // fetch the new license structure from control plane + licenseV3, apiError := validate.ValidateLicenseV3(active.Key) + if apiError != nil { + return m, apiError + } + + // insert the licenseV3 in sqlite db + apiError = m.repo.InsertLicenseV3(context.Background(), licenseV3) + // if the license already exists move ahead. + if apiError != nil && apiError.Typ != model.ErrorConflict { + return m, apiError + } + } + } + if err := m.start(useLicensesV3, features...); err != nil { return m, err }