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

Commita787861

Browse files
authored
chore: resolve race when running load tests with logs (#6523)
Seehttps://github.com/coder/coder/actions/runs/4370166746/jobs/7644793277
1 parent5304b4e commita787861

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

‎scaletest/agentconn/run.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,12 @@ func NewRunner(client *codersdk.Client, cfg Config) *Runner {
4545
}
4646

4747
// Run implements Runnable.
48-
func (r*Runner)Run(ctx context.Context,_string,logs io.Writer)error {
48+
func (r*Runner)Run(ctx context.Context,_string,w io.Writer)error {
4949
ctx,span:=tracing.StartSpan(ctx)
5050
deferspan.End()
5151

52-
logs=loadtestutil.NewSyncWriter(logs)
52+
logs:=loadtestutil.NewSyncWriter(w)
53+
deferlogs.Close()
5354
logger:=slog.Make(sloghuman.Sink(logs)).Leveled(slog.LevelDebug)
5455
r.client.Logger=logger
5556
r.client.LogBodies=true

‎scaletest/loadtestutil/syncwriter.go

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@ import (
77

88
// SyncWriter wraps an io.Writer in a sync.Mutex.
99
typeSyncWriterstruct {
10-
mut*sync.Mutex
11-
w io.Writer
10+
mut*sync.Mutex
11+
w io.Writer
12+
closedbool
1213
}
1314

1415
funcNewSyncWriter(w io.Writer)*SyncWriter {
@@ -22,5 +23,15 @@ func NewSyncWriter(w io.Writer) *SyncWriter {
2223
func (sw*SyncWriter)Write(p []byte) (nint,errerror) {
2324
sw.mut.Lock()
2425
defersw.mut.Unlock()
26+
ifsw.closed {
27+
return-1,io.ErrClosedPipe
28+
}
2529
returnsw.w.Write(p)
2630
}
31+
32+
func (sw*SyncWriter)Close()error {
33+
sw.mut.Lock()
34+
defersw.mut.Unlock()
35+
sw.closed=true
36+
returnnil
37+
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp