[MM-54456] Fix potential read after write issue when loading license (#24524)

* Fix potential read after write issue when loading license

* Use upsert
Этот коммит содержится в:
Claudio Costa
2023-09-13 14:47:12 -06:00
коммит произвёл GitHub
родитель c53b5f7b2b
Коммит b4a47803e6
8 изменённых файлов: 71 добавлений и 81 удалений

Просмотреть файл

@@ -4705,10 +4705,10 @@ func (s *TimerLayerJobStore) UpdateStatusOptimistically(id string, currentStatus
return result, err
}
func (s *TimerLayerLicenseStore) Get(id string) (*model.LicenseRecord, error) {
func (s *TimerLayerLicenseStore) Get(ctx context.Context, id string) (*model.LicenseRecord, error) {
start := time.Now()
result, err := s.LicenseStore.Get(id)
result, err := s.LicenseStore.Get(ctx, id)
elapsed := float64(time.Since(start)) / float64(time.Second)
if s.Root.Metrics != nil {
@@ -4737,10 +4737,10 @@ func (s *TimerLayerLicenseStore) GetAll() ([]*model.LicenseRecord, error) {
return result, err
}
func (s *TimerLayerLicenseStore) Save(license *model.LicenseRecord) (*model.LicenseRecord, error) {
func (s *TimerLayerLicenseStore) Save(license *model.LicenseRecord) error {
start := time.Now()
result, err := s.LicenseStore.Save(license)
err := s.LicenseStore.Save(license)
elapsed := float64(time.Since(start)) / float64(time.Second)
if s.Root.Metrics != nil {
@@ -4750,7 +4750,7 @@ func (s *TimerLayerLicenseStore) Save(license *model.LicenseRecord) (*model.Lice
}
s.Root.Metrics.ObserveStoreMethodDuration("LicenseStore.Save", success, elapsed)
}
return result, err
return err
}
func (s *TimerLayerLinkMetadataStore) Get(url string, timestamp int64) (*model.LinkMetadata, error) {