diff options
author | Will Chandler <wchandler@gitlab.com> | 2022-07-14 20:00:23 +0300 |
---|---|---|
committer | Will Chandler <wchandler@gitlab.com> | 2022-07-14 20:00:23 +0300 |
commit | a9a2618a819ba5d1990d9548a1b1bd6406dc8fea (patch) | |
tree | 989849ca9d244df57f5520890fb89af7ff5ed319 | |
parent | b69d4f4bddc90b2a60af7044afc6910a670e8014 (diff) | |
parent | 608d1a1124ca4f5290910e3c1d1a59784f07f3f3 (diff) |
Merge branch 'pks-gitaly-nightly-maintenance-remove-per-repo-deadlines' into 'master'
maintenance: Remove per-repository timeouts in nightly maintenance
Closes #4345
See merge request gitlab-org/gitaly!4711
-rw-r--r-- | internal/gitaly/maintenance/optimize.go | 3 | ||||
-rw-r--r-- | internal/gitaly/maintenance/optimize_test.go | 38 |
2 files changed, 1 insertions, 40 deletions
diff --git a/internal/gitaly/maintenance/optimize.go b/internal/gitaly/maintenance/optimize.go index f554e33f5..a692613d8 100644 --- a/internal/gitaly/maintenance/optimize.go +++ b/internal/gitaly/maintenance/optimize.go @@ -116,8 +116,7 @@ func optimizeRepoAtPath(ctx context.Context, l logrus.FieldLogger, s config.Stor "start_time": start.UTC(), }) - ctx, cancel := context.WithTimeout(ctxlogrus.ToContext(ctx, logEntry), 5*time.Minute) - defer cancel() + ctx = ctxlogrus.ToContext(ctx, logEntry) err = o.OptimizeRepository(ctx, repo) logEntry = logEntry.WithField("time_ms", time.Since(start).Milliseconds()) diff --git a/internal/gitaly/maintenance/optimize_test.go b/internal/gitaly/maintenance/optimize_test.go index dd4bd2b3e..5a5ba3a0f 100644 --- a/internal/gitaly/maintenance/optimize_test.go +++ b/internal/gitaly/maintenance/optimize_test.go @@ -5,9 +5,7 @@ import ( "math/rand" "path/filepath" "testing" - "time" - "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "gitlab.com/gitlab-org/gitaly/v15/internal/backchannel" "gitlab.com/gitlab-org/gitaly/v15/internal/git/catfile" @@ -110,39 +108,3 @@ func TestOptimizeReposRandomly(t *testing.T) { }) } } - -type mockOptimizerCancel struct { - t *testing.T - startedAt time.Time -} - -func (m mockOptimizerCancel) OptimizeRepository(ctx context.Context, _ repo.GitRepo) error { - timeline, ok := ctx.Deadline() - if assert.True(m.t, ok) { - assert.True(m.t, timeline.After(m.startedAt), m.startedAt) - future := m.startedAt.Add(10 * time.Minute) - assert.True(m.t, timeline.Before(future), future) - } - return nil -} - -func TestOptimizeReposRandomly_cancellationOverride(t *testing.T) { - cfgBuilder := testcfg.NewGitalyCfgBuilder() - cfg := cfgBuilder.Build(t) - - gittest.InitRepo(t, cfg, cfg.Storages[0]) - ctx := testhelper.Context(t) - - // The timeout should be overwritten by the default 5 min timeout. - //nolint:forbidigo // We're explicitly testing deadline override. - ctx, cancel := context.WithTimeout(ctx, 72*time.Hour) - defer cancel() - - ticker := helper.NewManualTicker() - ticker.Tick() - - mo := &mockOptimizerCancel{t: t, startedAt: time.Now()} - walker := OptimizeReposRandomly(cfg.Storages, mo, ticker, rand.New(rand.NewSource(1))) - - require.NoError(t, walker(ctx, testhelper.NewDiscardingLogEntry(t), []string{cfg.Storages[0].Name})) -} |