diff --git a/pkg/cleaning/purge.go b/pkg/cleaning/purge.go index 9db99fbe7f..e30870faf9 100644 --- a/pkg/cleaning/purge.go +++ b/pkg/cleaning/purge.go @@ -38,7 +38,7 @@ type purgeManager struct { func (m *purgeManager) run(ctx context.Context) error { if err := logboek.Context(ctx).Default().LogProcess("Deleting stages").DoError(func() error { - stages, err := m.StorageManager.GetStageDescriptionList(ctx) + stages, err := m.StorageManager.GetStageDescriptionListWithCache(ctx) if err != nil { return err } diff --git a/pkg/cleaning/stage_manager/manager.go b/pkg/cleaning/stage_manager/manager.go index e96d058e79..a017845541 100644 --- a/pkg/cleaning/stage_manager/manager.go +++ b/pkg/cleaning/stage_manager/manager.go @@ -63,7 +63,7 @@ func (m *Manager) newImageMetadata(imageName string, stageID string) *imageMetad } func (m *Manager) InitStages(ctx context.Context, storageManager manager.StorageManagerInterface) error { - stageDescriptionList, err := storageManager.GetStageDescriptionList(ctx) + stageDescriptionList, err := storageManager.GetStageDescriptionListWithCache(ctx) if err != nil { return err } diff --git a/pkg/storage/manager/storage_manager.go b/pkg/storage/manager/storage_manager.go index 6dddcf899c..5c771160a8 100644 --- a/pkg/storage/manager/storage_manager.go +++ b/pkg/storage/manager/storage_manager.go @@ -63,6 +63,7 @@ type StorageManagerInterface interface { GetStagesByDigest(ctx context.Context, stageName, stageDigest string) ([]*image.StageDescription, error) GetStagesByDigestFromStagesStorage(ctx context.Context, stageName, stageDigest string, stagesStorage storage.StagesStorage) ([]*image.StageDescription, error) GetStageDescriptionList(ctx context.Context) ([]*image.StageDescription, error) + GetStageDescriptionListWithCache(ctx context.Context) ([]*image.StageDescription, error) GetFinalStageDescriptionList(ctx context.Context) ([]*image.StageDescription, error) FetchStage(ctx context.Context, containerRuntime container_runtime.ContainerRuntime, stg stage.Interface) error @@ -214,8 +215,16 @@ func (m *StorageManager) MaxNumberOfWorkers() int { return 1 } +func (m *StorageManager) GetStageDescriptionListWithCache(ctx context.Context) ([]*image.StageDescription, error) { + return m.getStageDescriptionList(ctx, storage.WithCache()) +} + func (m *StorageManager) GetStageDescriptionList(ctx context.Context) ([]*image.StageDescription, error) { - stageIDs, err := m.StagesStorage.GetStagesIDs(ctx, m.ProjectName) + return m.getStageDescriptionList(ctx) +} + +func (m *StorageManager) getStageDescriptionList(ctx context.Context, opts ...storage.Option) ([]*image.StageDescription, error) { + stageIDs, err := m.StagesStorage.GetStagesIDs(ctx, m.ProjectName, opts...) if err != nil { return nil, fmt.Errorf("error getting stages ids from %s: %s", m.StagesStorage, err) }