From 88a3b5faf65d72e895000caa12afbf86d25269f1 Mon Sep 17 00:00:00 2001 From: Lyndon-Li Date: Mon, 3 Jun 2024 19:06:06 +0800 Subject: [PATCH] run epoch maintenance for quick maintenance --- repo/maintenance/maintenance_run.go | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/repo/maintenance/maintenance_run.go b/repo/maintenance/maintenance_run.go index bf3f9d51571..6fc8209b0c9 100644 --- a/repo/maintenance/maintenance_run.go +++ b/repo/maintenance/maintenance_run.go @@ -252,9 +252,19 @@ func Run(ctx context.Context, runParams RunParameters, safety SafetyParameters) } func runQuickMaintenance(ctx context.Context, runParams RunParameters, safety SafetyParameters) error { + s, err := GetSchedule(ctx, runParams.rep) + if err != nil { + return errors.Wrap(err, "unable to get schedule") + } + _, ok, emerr := runParams.rep.ContentManager().EpochManager(ctx) if ok { - log(ctx).Debugf("quick maintenance not required for epoch manager") + log(ctx).Debugf("Epoch manager is available, run epoch maintenance only for quick maintenance") + + if err := runTaskEpochMaintenanceQuick(ctx, runParams, s); err != nil { + return errors.Wrap(err, "error running quick epoch maintenance tasks") + } + return nil } @@ -262,11 +272,6 @@ func runQuickMaintenance(ctx context.Context, runParams RunParameters, safety Sa return errors.Wrap(emerr, "epoch manager") } - s, err := GetSchedule(ctx, runParams.rep) - if err != nil { - return errors.Wrap(err, "unable to get schedule") - } - if shouldQuickRewriteContents(s, safety) { // find 'q' packs that are less than 80% full and rewrite contents in them into // new consolidated packs, orphaning old packs in the process. @@ -299,10 +304,6 @@ func runQuickMaintenance(ctx context.Context, runParams RunParameters, safety Sa notDeletingOrphanedBlobs(ctx, s, safety) } - if err := runTaskEpochMaintenanceQuick(ctx, runParams, s); err != nil { - return errors.Wrap(err, "error running quick epoch maintenance tasks") - } - // consolidate many smaller indexes into fewer larger ones. if err := runTaskIndexCompactionQuick(ctx, runParams, s, safety); err != nil { return errors.Wrap(err, "error performing index compaction")