Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitfcb3e5d

Browse files
fix: limit prebuild failure cost
1 parent6b4d3f8 commitfcb3e5d

File tree

20 files changed

+644
-23
lines changed

20 files changed

+644
-23
lines changed

‎cli/testdata/server-config.yaml.golden

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -704,3 +704,7 @@ workspace_prebuilds:
704704
# backoff.
705705
# (default: 1h0m0s, type: duration)
706706
reconciliation_backoff_lookback_period: 1h0m0s
707+
# Maximum number of consecutive failed prebuilds before a preset hits the hard
708+
# limit. FailureHardLimit is disabled when set to zero.
709+
# (default: 3, type: int)
710+
failure_hard_limit: 3

‎coderd/apidoc/docs.go

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/apidoc/swagger.json

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/database/dbauthz/dbauthz.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2234,6 +2234,15 @@ func (q *querier) GetPresetParametersByTemplateVersionID(ctx context.Context, ar
22342234
returnq.db.GetPresetParametersByTemplateVersionID(ctx,args)
22352235
}
22362236

2237+
func (q*querier)GetPresetsAtFailureLimit(ctx context.Context,hardLimitint64) ([]database.GetPresetsAtFailureLimitRow,error) {
2238+
// GetPresetsAtFailureLimit returns a list of template version presets that have reached the hard failure limit.
2239+
// Request the same authorization permissions as GetPresetsBackoff, since the methods are similar.
2240+
iferr:=q.authorizeContext(ctx,policy.ActionViewInsights,rbac.ResourceTemplate.All());err!=nil {
2241+
returnnil,err
2242+
}
2243+
returnq.db.GetPresetsAtFailureLimit(ctx,hardLimit)
2244+
}
2245+
22372246
func (q*querier)GetPresetsBackoff(ctx context.Context,lookback time.Time) ([]database.GetPresetsBackoffRow,error) {
22382247
// GetPresetsBackoff returns a list of template version presets along with metadata such as the number of failed prebuilds.
22392248
iferr:=q.authorizeContext(ctx,policy.ActionViewInsights,rbac.ResourceTemplate.All());err!=nil {

‎coderd/database/dbauthz/dbauthz_test.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4857,6 +4857,11 @@ func (s *MethodTestSuite) TestPrebuilds() {
48574857
Asserts(rbac.ResourceWorkspace.All(),policy.ActionRead).
48584858
ErrorsWithInMemDB(dbmem.ErrUnimplemented)
48594859
}))
4860+
s.Run("GetPresetsAtFailureLimit",s.Subtest(func(_ database.Store,check*expects) {
4861+
check.Args(int64(0)).
4862+
Asserts(rbac.ResourceTemplate.All(),policy.ActionViewInsights).
4863+
ErrorsWithInMemDB(dbmem.ErrUnimplemented)
4864+
}))
48604865
s.Run("GetPresetsBackoff",s.Subtest(func(_ database.Store,check*expects) {
48614866
check.Args(time.Time{}).
48624867
Asserts(rbac.ResourceTemplate.All(),policy.ActionViewInsights).

‎coderd/database/dbmem/dbmem.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4362,6 +4362,10 @@ func (q *FakeQuerier) GetPresetParametersByTemplateVersionID(_ context.Context,
43624362
returnparameters,nil
43634363
}
43644364

4365+
func (q*FakeQuerier)GetPresetsAtFailureLimit(ctx context.Context,hardLimitint64) ([]database.GetPresetsAtFailureLimitRow,error) {
4366+
returnnil,ErrUnimplemented
4367+
}
4368+
43654369
func (*FakeQuerier)GetPresetsBackoff(_ context.Context,_ time.Time) ([]database.GetPresetsBackoffRow,error) {
43664370
returnnil,ErrUnimplemented
43674371
}

‎coderd/database/dbmetrics/querymetrics.go

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/database/dbmock/dbmock.go

Lines changed: 15 additions & 0 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/database/querier.go

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp