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

Commitff496e8

Browse files
committed
fix(coderd/workspaceapps): prevent race in workspace app audit session updates
Fixescoder/internal#520
1 parentd8d4b9b commitff496e8

File tree

13 files changed

+62
-26
lines changed

13 files changed

+62
-26
lines changed

‎coderd/database/dbauthz/dbauthz.go‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4615,9 +4615,9 @@ func (q *querier) UpsertWorkspaceAgentPortShare(ctx context.Context, arg databas
46154615
returnq.db.UpsertWorkspaceAgentPortShare(ctx,arg)
46164616
}
46174617

4618-
func (q*querier)UpsertWorkspaceAppAuditSession(ctx context.Context,arg database.UpsertWorkspaceAppAuditSessionParams) (time.Time,error) {
4618+
func (q*querier)UpsertWorkspaceAppAuditSession(ctx context.Context,arg database.UpsertWorkspaceAppAuditSessionParams) (uuid.UUID,error) {
46194619
iferr:=q.authorizeContext(ctx,policy.ActionUpdate,rbac.ResourceSystem);err!=nil {
4620-
returntime.Time{},err
4620+
returnuuid.Nil,err
46214621
}
46224622
returnq.db.UpsertWorkspaceAppAuditSession(ctx,arg)
46234623
}

‎coderd/database/dbmem/dbmem.go‎

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12283,10 +12283,10 @@ func (q *FakeQuerier) UpsertWorkspaceAgentPortShare(_ context.Context, arg datab
1228312283
returnpsl,nil
1228412284
}
1228512285

12286-
func (q*FakeQuerier)UpsertWorkspaceAppAuditSession(_ context.Context,arg database.UpsertWorkspaceAppAuditSessionParams) (time.Time,error) {
12286+
func (q*FakeQuerier)UpsertWorkspaceAppAuditSession(_ context.Context,arg database.UpsertWorkspaceAppAuditSessionParams) (uuid.UUID,error) {
1228712287
err:=validateDatabaseType(arg)
1228812288
iferr!=nil {
12289-
returntime.Time{},err
12289+
returnuuid.Nil,err
1229012290
}
1229112291

1229212292
q.mutex.Lock()
@@ -12320,10 +12320,11 @@ func (q *FakeQuerier) UpsertWorkspaceAppAuditSession(_ context.Context, arg data
1232012320

1232112321
q.workspaceAppAuditSessions[i].UpdatedAt=arg.UpdatedAt
1232212322
if!fresh {
12323+
q.workspaceAppAuditSessions[i].ID=arg.ID
1232312324
q.workspaceAppAuditSessions[i].StartedAt=arg.StartedAt
12324-
returnarg.StartedAt,nil
12325+
returnarg.ID,nil
1232512326
}
12326-
returns.StartedAt,nil
12327+
returns.ID,nil
1232712328
}
1232812329

1232912330
q.workspaceAppAuditSessions=append(q.workspaceAppAuditSessions, database.WorkspaceAppAuditSession{
@@ -12337,7 +12338,7 @@ func (q *FakeQuerier) UpsertWorkspaceAppAuditSession(_ context.Context, arg data
1233712338
StartedAt:arg.StartedAt,
1233812339
UpdatedAt:arg.UpdatedAt,
1233912340
})
12340-
returnarg.StartedAt,nil
12341+
returnarg.ID,nil
1234112342
}
1234212343

1234312344
func (q*FakeQuerier)GetAuthorizedTemplates(ctx context.Context,arg database.GetTemplatesWithFilterParams,prepared rbac.PreparedAuthorized) ([]database.Template,error) {

‎coderd/database/dbmetrics/querymetrics.go‎

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/database/dbmock/dbmock.go‎

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

‎coderd/database/dump.sql‎

Lines changed: 5 additions & 1 deletion
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
ALTERTABLE workspace_app_audit_sessions
2+
DROP COLUMN id;
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
-- Add column with default to fix existing rows.
2+
ALTERTABLE workspace_app_audit_sessions
3+
ADD COLUMN id UUIDPRIMARY KEY DEFAULT gen_random_uuid();
4+
ALTERTABLE workspace_app_audit_sessions
5+
ALTER COLUMN id DROP DEFAULT;

‎coderd/database/models.go‎

Lines changed: 1 addition & 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: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/database/queries.sql.go‎

Lines changed: 17 additions & 7 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