Skip to content

Commit fcf2a99

Browse files
committed
Break out activitybump TTL fix
These changes have been broken out to a separate PR: #10253 Removing from this PR
1 parent 8fc59c4 commit fcf2a99

File tree

5 files changed

+124
-187
lines changed

5 files changed

+124
-187
lines changed

coderd/activitybump_internal_test.go

Lines changed: 8 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,13 @@ func Test_ActivityBumpWorkspace(t *testing.T) {
3232
}
3333

3434
for _, tt := range []struct {
35-
name string
36-
transition database.WorkspaceTransition
37-
jobCompletedAt sql.NullTime
38-
buildDeadlineOffset *time.Duration
39-
maxDeadlineOffset *time.Duration
40-
workspaceTTL time.Duration
41-
templateDisallowUserAutostop bool // inverted
42-
templateTTL time.Duration
43-
expectedBump time.Duration
35+
name string
36+
transition database.WorkspaceTransition
37+
jobCompletedAt sql.NullTime
38+
buildDeadlineOffset *time.Duration
39+
maxDeadlineOffset *time.Duration
40+
workspaceTTL time.Duration
41+
expectedBump time.Duration
4442
}{
4543
{
4644
name: "NotFinishedYet",
@@ -71,7 +69,6 @@ func Test_ActivityBumpWorkspace(t *testing.T) {
7169
jobCompletedAt: sql.NullTime{Valid: true, Time: dbtime.Now().Add(-24 * time.Minute)},
7270
buildDeadlineOffset: ptr.Ref(8*time.Hour - 24*time.Minute),
7371
workspaceTTL: 8 * time.Hour,
74-
templateTTL: 6 * time.Hour, // unused
7572
expectedBump: 8 * time.Hour,
7673
},
7774
{
@@ -102,18 +99,6 @@ func Test_ActivityBumpWorkspace(t *testing.T) {
10299
workspaceTTL: 8 * time.Hour,
103100
expectedBump: 0,
104101
},
105-
{
106-
// If the template disallows user autostop, then the TTL of the
107-
// template should be used.
108-
name: "TemplateDisallowsUserAutostop",
109-
transition: database.WorkspaceTransitionStart,
110-
jobCompletedAt: sql.NullTime{Valid: true, Time: dbtime.Now().Add(-24 * time.Minute)},
111-
buildDeadlineOffset: ptr.Ref(8*time.Hour - 24*time.Minute),
112-
workspaceTTL: 6 * time.Hour,
113-
templateDisallowUserAutostop: true,
114-
templateTTL: 8 * time.Hour,
115-
expectedBump: 8 * time.Hour,
116-
},
117102
} {
118103
tt := tt
119104
for _, tz := range timezones {
@@ -159,15 +144,6 @@ func Test_ActivityBumpWorkspace(t *testing.T) {
159144
buildID = uuid.New()
160145
)
161146

162-
err := db.UpdateTemplateScheduleByID(ctx, database.UpdateTemplateScheduleByIDParams{
163-
ID: template.ID,
164-
UpdatedAt: dbtime.Now(),
165-
AllowUserAutostop: !tt.templateDisallowUserAutostop,
166-
DefaultTTL: int64(tt.templateTTL),
167-
// The other fields don't matter.
168-
})
169-
require.NoError(t, err)
170-
171147
var buildNumber int32 = 1
172148
// Insert a number of previous workspace builds.
173149
for i := 0; i < 5; i++ {
@@ -186,7 +162,7 @@ func Test_ActivityBumpWorkspace(t *testing.T) {
186162
if tt.maxDeadlineOffset != nil {
187163
maxDeadline = now.Add(*tt.maxDeadlineOffset)
188164
}
189-
err = db.InsertWorkspaceBuild(ctx, database.InsertWorkspaceBuildParams{
165+
err := db.InsertWorkspaceBuild(ctx, database.InsertWorkspaceBuildParams{
190166
ID: buildID,
191167
CreatedAt: dbtime.Now(),
192168
UpdatedAt: dbtime.Now(),

coderd/database/dbfake/dbfake.go

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -815,24 +815,8 @@ func (q *FakeQuerier) ActivityBumpWorkspace(ctx context.Context, workspaceID uui
815815
return nil
816816
}
817817

818-
template, err := q.getTemplateByIDNoLock(ctx, workspace.TemplateID)
819-
if err != nil {
820-
return err
821-
}
822-
823-
var ttlDur time.Duration
824-
if workspace.Ttl.Valid {
825-
ttlDur = time.Duration(workspace.Ttl.Int64)
826-
}
827-
if !template.AllowUserAutostop {
828-
ttlDur = time.Duration(template.DefaultTTL)
829-
}
830-
if ttlDur <= 0 {
831-
// There's no TTL set anymore, so we don't know the bump duration.
832-
return nil
833-
}
834-
835818
// Only bump if 5% of the deadline has passed.
819+
ttlDur := time.Duration(workspace.Ttl.Int64)
836820
ttlDur95 := ttlDur - (ttlDur / 20)
837821
minBumpDeadline := q.workspaceBuilds[i].Deadline.Add(-ttlDur95)
838822
if now.Before(minBumpDeadline) {

coderd/database/querier.go

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/queries.sql.go

Lines changed: 114 additions & 125 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)